El soporte para Rust ha sido trasladado de experimental a funciones principales del núcleo de Linux.

En la conferencia Maintainers Summit que se lleva a cabo estos días, se discutieron los resultados del experimento sobre la adición de la capacidad de desarrollar componentes en el núcleo de Linux utilizando el lenguaje Rust. Los asistentes reconocieron el experimento como exitoso y decidieron clasificar el soporte para el lenguaje Rust como parte fundamental del núcleo, eliminando su etiqueta de funcionalidad experimental.

Hace tres años, se agregó la posibilidad de desarrollar controladores y módulos en el lenguaje Rust al núcleo 6.1. Desde entonces, se han incluido en el núcleo abstracciones para el desarrollo de controladores en Rust para GPU, sistemas de archivos, dispositivos de almacenamiento, adaptadores de red y dispositivos USB. En Rust se está desarrollando el controlador Nova para GPUs NVIDIA, asahi para GPUs Apple AGX, Tyr para GPUs ARM Mali, rust_ext2 con el sistema de archivos Ext2. También se ha aceptado en el núcleo una implementación de IPC Binder escrita en Rust. El proyecto RROS desarrolla una subsistema en tiempo real para el núcleo Linux, escrito en Rust. El soporte para Rust no está habilitado por defecto y no implica la inclusión de Rust como una de las dependencias de compilación obligatorias del núcleo.

Según los defensores de la promoción de Rust, este lenguaje elimina la mayoría de los errores que se encuentran en el núcleo y que son causados por las particularidades del lenguaje C (corner case), lo que permite centrarse en errores lógicos y condiciones de carrera durante la revisión. Rust ayuda a evitar problemas como acceder a memoria después de su liberación, desbordamientos de búfer, liberación incorrecta de recursos durante el manejo de errores y la omisión de verificaciones de códigos de error devueltos. El uso de Rust para nuevo código también permite reducir el tiempo de desarrollo al disminuir el esfuerzo necesario para depuración y por las estrictas garantías del lenguaje que identifican errores en las primeras etapas de la escritura del código.

Los opositores a la implementación de Rust en el núcleo consideran inaceptable el uso de múltiples lenguajes de programación en proyectos complejos, ya que las bases de código mixtas complican el trabajo de los mantenedores, puesto que los ponen a merced del código en otro lenguaje. Por ejemplo, con los enlaces en Rust, los desarrolladores de subsistemas escritos en C deben tener en cuenta el impacto de los cambios en la continuidad funcional de los enlaces.

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