Top Qs
Línea de tiempo
Chat
Contexto
Rust for Linux
De Wikipedia, la enciclopedia libre
Remove ads
Rust para Linux (nombre original: "Rust for Linux") es un proyecto que, desde 2020, busca integrar el lenguaje de programación Rust dentro del kernel de Linux. El objetivo de este proyecto es aprovechar las características del lenguaje (principalmente la seguridad de memoria) en el desarrollo de controladores para Linux.[1]
La adopción de Rust como un segundo lenguaje para Linux ha sido más lenta de lo esperado, tanto por los defensores de Rust como por Linus Torvalds.[2] En diciembre de 2023, se aceptaron los primeros controladores escritos en Rust, que fueron lanzados en la versión 6.8.[3][4]
Remove ads
Historia
Resumir
Contexto
El kernel de Linux fue originalmente escrito en los lenguajes C y ensamblador. Alrededor de 1997, se consideró la posibilidad de utilizar C++ pero, tras experimentar con el durante dos semanas, se terminó descartando la posibilidad.[5] Rust se creó en 2006 y combina el rendimiento de los lenguajes de programación de bajo nivel (como C) con un enfoque en la seguridad de la memoria.[6]
Taesoo Kim publicó en 2013 un módulo para el kernel de linux creado con el lenguaje Rust.[7][8]
El proyecto Rust for Linux se anunció en 2020 en la lista de correo del kernel de Linux con el objetivo de intregrar Rust como un lenguaje de programación que pudiera usarse dentro de kernel.[9] En la Open Source Summit de 2022, Linus Torvalds afirmó que la incorporación del proyecto podría comenzar tan pronto como se lanzase Linux 5.20, posteriormente denominado Linux 6.0.[10] La primera versión candidata para Linux 6.0 fue publicada el 14 de agosto de 2022, todavía sin soporte para Rust. En las notas de lanzamiento de Linux 6.0-rc1, Torvalds expresó su intención de añadir compatibilidad con Rust en el kernel: «De hecho, esperaba que tuviéramos la primera infraestructura de Rust y la máquina virtual LRU multigeneración, pero esta vez no se materializó».[11][12] El 19 de septiembre de 2022, un artículo de ZDNet reveló un correo electrónico de Linus Torvalds que afirmaba: «A menos que ocurra algo extraño, Rust se integrará en la versión 6.1».[13]
En octubre de 2022, Torvalds aprobó una pull request para aceptar la implementación de Rust para Linux.[14] A partir de Linux 6.1, el soporte se dejó intencionalmente mínimo para permitir que los desarrolladores probasen la nueva funcionalidad.[15]
Los desarrolladores de Rust para Linux crearon una nueva biblioteca, "pinned-init", para inicializar de forma segura y falible objetos no-reubicables.[3] Se incluyó por primera vez en Linux 6.4,[16] y se mejoró en versiones posteriores[3]
En julio de 2024 se aceptó un cambio en Linux para admitir múltiples versiones de Rust por primera vez, lo que permitió la compilación utilizando tanto la versión 1.78 (lanzada el 2 de mayo de 2024) como la 1.79 (lanzada el 13 de junio de 2024).[17]
A 2 de julio de 2025, Rust en el kernel de linux depende de características inestables del compilador de Rust.[1]
Remove ads
Usos de Rust en el kernel
- rnull, un reemplazo directo para el dispositivo nulo [3][18]
- Controladores de red de capa física ASIX AX88772A y Realtek Generic FE-GE [3] [4][19][20]
- Controlador de pánico DRM para códigos QR [17][21]
Otros proyectos notables que utilizan Rust para Linux incluyen:
- tarfs, un sistema de archivos tar [3][22]
- Controlador de dispositivo NVM Express (NVMe) [3]
- Controlador IPC de Android Binder [9][3] [23]
- Controlador DRM de GPU AGX Apple silicon de Asahi Linux [24][3] [25]
- PuzzleFS, un sistema de archivos contenedor [3] [26][22]
- Sistema de archivos ext2 de sólo lectura [22]
- Nova, cuyo objetivo es crear un nuevo controlador de GPU Nvidia basado en Rust, se está desarrollando dentro del proyecto freedesktop.org [27][28]
Remove ads
Véase también
- LynxOS
- Redox (Sistema Operativo)
Referencias
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
