Principales desarrolladores de Linux, incluido Linus Torvalds, han aprobado Rust como un lenguaje de pleno derecho para la programación del kernel, poniendo fin a su estatus experimental. La decisión se tomó en la Cumbre Anual de Mantenedores del Kernel y se anunció en LWN.net. Aunque esto eleva a Rust junto a C y ensamblador, la implementación práctica aún requiere un trabajo significativo de enlazado.
La aprobación marca un hito significativo para Rust en el ecosistema de Linux. Los desarrolladores decidieron este cambio ayer durante la Cumbre de Mantenedores del Kernel, según un breve informe en LWN.net. Rust, que entró en el kernel hace tres años con Linux 6.1, ha completado ahora su fase experimental tras un extenso trabajo preparatorio.
En términos prácticos, Rust se une al ensamblador y a C como uno de los lenguajes principales para el desarrollo del kernel. Sin embargo, los programadores aún no pueden escribir controladores de kernel arbitrarios en Rust sin limitaciones. Muchos subsistemas carecen del código de enlazado necesario, o bindings, para interconectar con la infraestructura existente basada en C. Por ejemplo, un controlador WLAN en Rust necesitaría bindings para aprovechar la base del kernel escrita en C para dispositivos WLAN y PCIe.
El progreso está en marcha en áreas selectas. Existen bindings o se están desarrollando para subsistemas como los controladores gráficos del kernel. Un ejemplo notable es Nova, un controlador escrito en Rust para núcleos gráficos modernos de Nvidia, que se espera que se use en muchos PC en los próximos años.
Los defensores destacan los beneficios potenciales de Rust. Sus características buscan reducir vulnerabilidades de seguridad, como errores de acceso a memoria, desbordamientos de búfer y problemas de concurrencia. Además, el lenguaje moderno podría agilizar los procesos de desarrollo y atraer a programadores más jóvenes al trabajo en el kernel de Linux.
A pesar del estatus oficial, queda mucho por hacer para integrar completamente Rust en todo el kernel.