La décima versión de los parches para el núcleo de Linux con soporte para el lenguaje Rust

Miguel Ojeda, autor del proyecto Rust-for-Linux, propuso a los desarrolladores del núcleo de Linux la versión v10 de los componentes para el desarrollo de controladores de dispositivos en el lenguaje Rust. Esta es la undécima edición de los parches, teniendo en cuenta la primera versión, publicada sin número de versión. La inclusión del soporte para Rust ha sido aprobada por Linus Torvalds para su inclusión en el núcleo de Linux 6.1, a menos que surjan problemas imprevistos. El desarrollo está financiado por Google y la organización ISRG (Internet Security Research Group), que es la fundadora del proyecto Let's Encrypt y promueve HTTPS y el desarrollo de tecnologías para mejorar la seguridad de Internet.

Al igual que la versión anterior de los parches, la versión v10 se ha reducido a lo más esencial, suficiente para compilar un módulo de núcleo simple escrito en Rust. Las diferencias con la versión anterior se limitan a ajustes menores, el cambio de sizeof a ARRAY_SIZE en kallsyms.c y la adaptación de los parches al núcleo v6.0-rc7. Se espera que el parche mínimo, cuyo tamaño se ha reducido de 40 a 13 mil líneas de código, facilite la adopción del soporte de Rust en el núcleo principal. Después de garantizar un soporte mínimo, se planea aumentar gradualmente la funcionalidad existente, trasladando otros cambios de la rama Rust-for-Linux.

Los cambios propuestos permiten utilizar Rust como segundo lenguaje para el desarrollo de controladores y módulos del núcleo. El soporte para Rust se presenta como una opción, no activa por defecto y que no hace que Rust se convierta en una de las dependencias de compilación obligatorias del núcleo. Usar Rust para el desarrollo de controladores permitirá crear controladores seguros y de mayor calidad con un esfuerzo mínimo, evitando problemas como el acceso a la memoria después de haber sido liberada, la desreferenciación de punteros nulos y el desbordamiento de búfer.

El manejo seguro de la memoria se garantiza en Rust durante la compilación a través de la verificación de referencias, el seguimiento de la propiedad de los objetos y la consideración del tiempo de vida de los objetos (áreas de visibilidad), así como mediante la evaluación de la corrección del acceso a la memoria durante la ejecución del código. Rust también proporciona medios para proteger contra desbordamientos enteros, requiere la inicialización obligatoria de los valores de las variables antes de su uso, maneja mejor los errores en la biblioteca estándar, aplica el concepto de inmutabilidad (immutable) de referencias y variables por defecto, y ofrece una fuerte tipificación estática para minimizar errores lógicos.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster