Desarrollado en C y C++, el kernel de Linux pronto debería abrirse al lenguaje Rust. El objetivo es, en particular, asegurar mejor el uso de la memoria.
Durante la Open Source Summit que tuvo lugar en septiembre en Dublín, Linus Torvalds habló sobre la integración del lenguaje de programación Rust en el kernel de Linux. Abrir el kernel de Linux a Rust no es un tema nuevo. Se menciona regularmente, sobre todo desde la creación de la Fundación de óxido principios de 2021. Sin embargo, una integración no será efectiva en la próxima versión 6 de su kernel, aunque Torvalds lamentó que aún no está disponible la posibilidad de desarrollar controladores en Rust. Por lo tanto, habrá que esperar al menos a la versión 6.1..
Hoy en día, un grupo de trabajo está trabajando en el tema. Se prueba así un parche y dos drivers preliminares, implementados en el nuevo lenguaje. Un controlador admite unidades NVMe y el segundo es un servidor dedicado al protocolo de red 9P del sistema operativo Plan 9.
Quedan muchos obstáculos especialmente a nivel de compilador. El kernel de Linux generalmente se compila con GCC, mientras que Rust se compila con mayor frecuencia con el compilador rival LLVM. Un punto no del todo inaceptable ya que Android y ChromeOS, dos sistemas operativos basados en un kernel de Linux, están compilados con LLVM C, con el límite de no soportar todas las arquitecturas físicas.
Más allá de estas cuestiones puramente técnicas, la pregunta es más sobre la adopción comunitaria de Rust. Iniciado en 2006 por un ingeniero de Mozilla, desarrollado en 2010 por la comunidad, el lenguaje está lejos de ser unánime entre los desarrolladores y permanece poco presente en las empresas.
Por el contrario, Google decidió en 2021 abrir Android a este lenguaje, con el fin de reducir los errores relacionados con la gestión de la memoria. La idea no es volver a desarrollar Android sino usar Rust para nuevas aplicaciones. Rust afirma ser más seguro en términos de estabilidad y seguridad de la memoria que C y C++.
Pero otras alternativas también apuntan la punta de sus narices. Aunque apoyando a Rust, Google publicó así este verano la primera versión de su lenguaje de carbono que también quiere ofrecer una alternativa a C/C++ en el desarrollo de bajo nivel. Al igual que el óxido, Carbón ofrece una gestión de memoria más segura, pero a diferencia de esta, conserva la interoperabilidad total con los códigos fuente de C++ existentes.
Caso a seguir.
Para más información: El lenguaje de programación Rust (rust-lang.org)
[

