El kernel de Linux se convierte en ‘bilingüe’: su creador ve probable que la versión 5.20 incluya soporte para Rust

0
115

Linus Torvalds creó la primera versión del kernel de Linux en 1991, y la desarrolló usando el lenguaje de programación excelencia cuando hablamos de la creación de sistemas operativos: el lenguaje C. Eso no ha cambiado en más de 30 años. Hasta ahora.

Y es que, hace unos días, Torvalds —que además de creador sigue siendo el principal responsable del desarrollo de Linux— afirmó que es probable que veamos cómo en la próxima gran actualización del kernetl (Linux 5.20) se integra un segundo lenguaje de desarrollo: Rust.

Hace un año, Torvalds afirmaba estar convencido de que, con el tiempo, presenciaría la sustitución de C como principal lenguaje de desarrollo del kernel: «Puede que sea a manos de Rust, o no»

LINUX y GNU: LINUX: QUÉ ES y CÓMO FUNCIONA

Rust en el kernel, un proyecto largamente soñado (aunque Torvalds aplica aquello de ‘sin pausa, pero sin prisa’)

Recordemos que Rust —un lenguaje de programación cada vez más popular y valorado por los profesionales— surgió hace una década en el seno de la Fundación Mozilla como resultado de la búsqueda de un lenguaje que permitiera escribir un código extremadamente rápido al mismo nivel que C o C++, pero sin sus problemas recurrentes de gestión de memoria.

El año pasado te contábamos que el Internet Security Research Group (ISRG), con financiación de Google, había fichado al ingeniero español Miguel Ojeda para que trabajara a tiempo completo en su empeño de convertir Rust en el segundo lenguaje del kernel de Linux:

«El deseo de escribir código del kernel de Linux en Rust ha existido durante bastante tiempo, y diferentes personas han creado módulos ‘fuera de árbol’ con Rust a lo largo de los años. El primer intento que conozco es de 2013 por Taesoo Kim, antes incluso de que se lanzara Rust 1.0. El proyecto Rust for Linux fue creado con un objetivo de ensueño más allá de eso: proporcionar soporte de Rust dentro del propio núcleo».

Hay quien opina que C ya no es un lenguaje de programación (otros se conforman con decir que no es un lenguaje de bajo nivel)

‘Rust for Linux’ es una iniciativa desarrolla en el marco del ‘Proyecto Prossimo’, dirigido a portar el software más sensible para la seguridad de Internet (como el propio kernel de Linux, el sistema operativo más usado en servidores web) a código que no esté sometido a las vulnerabilidades de gestión de memoria, un problema que el ISRG atribuye fundamentalmente a los muy usados —a la par que inseguros— lenguajes C y C++.

Y Prossimo no esconde que ya tiene en mente Rust como sustituto perfecto para ambos. De hecho, otro de sus subproyectos se centra en impulsar la sustitución de OpenSSL por RusTLS en la mayor cantidad de proyectos posible.

El diseño de Rust brinda protección al código contra desbordamiento de enteros, además de proporcionar verificación de referencias en tiempo de compilación y evaluación de la corrección del acceso a la memoria en tiempo de ejecución

En un año, Torvalds ha pasado de decir que la idea de integrar Rust le interesaba —porque «hay razones técnicas reales» para hacerlo, «como la seguridad de la memoria»— al tiempo que matizaba que el soporte para hacerlo posible «aún no está fino»

…a afirmar, durante el reciente Open Source Summit celebrado en Texas, que le gustaría «ver cómo empieza a incluirse la infraestructura para Rust en la próxima versión». Aunque esta vez también matizaba, apostillando con un prudente » …Pero ya veremos».

En cualquier caso, no veremos en breve el kernel al completo portado a Rust (aunque sí ha echado a andar un proyecto para crear desde cero en Rust un kernel compatible con sistemas GNU/Linux). Por ahora, el soporte para este lenguaje será poco más que simbólico, pero será un primer paso necesario para permitir que la importancia de este lenguaje no deje de crecer en la comunidad de desarrollo del kernel.