Se ha añadido código para el desarrollo de controladores en el idioma Rust a la rama del núcleo Linux-next.

La rama linux-next, que servirá de base para la próxima versión del núcleo Linux 5.13, incluye un conjunto inicial de componentes para el desarrollo de controladores de dispositivos en el lenguaje Rust. Además, se ha publicado documentación sobre el uso de Rust en el núcleo de Linux y un ejemplo de módulo del núcleo con un controlador de dispositivo de caracteres en Rust. El código fue añadido por Stephen Rothwell, mantenedor de la rama Linux-next. Normalmente, la rama Linux-next incluye código listo para su aceptación en el siguiente ciclo de incorporación de cambios al núcleo, pero no está claro si Linus Torvalds aceptará el soporte de Rust en el Linux 5.13, ya que el código no ha sido revisado por un amplio grupo de desarrolladores.

El soporte para el desarrollo de controladores del núcleo de Linux en Rust ha sido objeto de discusión activa el año pasado, incluida la participación de Linus Torvalds, quien no descartó esta posibilidad. La idea también fue respaldada por Greg Kroah-Hartman, que se encarga del soporte de la rama estable del núcleo de Linux. Utilizar Rust para desarrollar controladores permitirá crear controladores seguros y de mayor calidad con mínimos esfuerzos, eliminando problemas como el acceso a áreas de memoria después de que han sido liberadas, la desreferenciación de punteros nulos y los desbordamientos de búfer.

Para activar el soporte de Rust en la rama linux-next, se ha añadido la opción CONFIG_RUST en KConfig ("Soporte de Rust" en el menú "Configuración general"), que, al habilitarse, verifica la presencia del compilador rustc en el sistema y, si está presente, permite habilitar otros componentes asociados a Rust (por ejemplo, aparece la sección "Rust hacking" en el menú "Desarrollo del núcleo"). El uso de Rust se considera una opción que no está activa por defecto y que no obliga a incluir Rust entre las dependencias de construcción del núcleo.

La compilación de componentes del núcleo en Rust es posible tanto con GCC como con Clang. Para utilizar Rust en el núcleo, se requiere la instalación de las versiones nocturnas recientes del compilador rustc, no más antiguas que la rama nightly-2021-02-20 (se promete añadir soporte para ramas estables de Rust, pero por el momento está vinculado a algunas funcionalidades experimentales). También es necesario contar con las bibliotecas estándar de Rust, que se entregan en el paquete rust-src, y el generador de enlaces bindgen. El soporte está actualmente limitado a las plataformas x86_64 y ARM64.

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