Home
Nosotros
Servicios
Portafolio
Hosting
Blog
Contáctanos

Kerla, el kernel basado en Rust con el que buscan crear un 'GNU/Linux sin Linux'

¿Poder usar un sistema operativo GNU/Linux sin el kernel Linux que le da nombre? Bueno, eso es lo que pretende el proyecto Kerla, que está desarrollando desde cero un kernel escrito en lenguaje Rust.

Podríamos pensar que expresarlo así es hacer trampa, puesto que el nombre del sistema operativo tendría que ser GNU/Kerla, pero es que lo que distingue a este nuevo kernel es que será compatible a nivel ABI (interfaz binaria de aplicaciones) con Linux, lo que permitirá ejecutar exactamente los mismos binarios sin necesidad de recompilarlos.

Para ello, implementa llamadas básicas de los sistemas Unix como stats, mmap, fork, wait4… y ofrece por ahora soporte para terminales tty y para pseudoterminales pty, para sistemas de archivos initramfs, tmpfs y devfs, y una pila de red con compatibilidad TCP/UDP basada en la biblioteca smoltcp.

Su creador, Seiya Nuta, ya es conocido por haber creado previamente Resea, un sistema operativo basado en un microkernel y desarrollado en lenguaje C. El código del nuevo kernel ya es accesible desde su propio repositorio GitHub.

El resultado ya se puede probar, aunque se encuentre en una etapa muy temprana de su desarrollo y cuente con pocas funciones, lo que limita por ahora su utilidad. Para probarlo nosotros mismos podemos descargar una imagen usable desde una máquina virtual QEMU o en un Docker. Todas las instrucciones para ello están en el mencionado repositorio.

El polémico Richard Stallman ya intentó crear un ‘Linux sin Linux’ promoviendo el desarrollo del kernel Hurd

Linus veía venir que Rust sustituiría a C… pero dentro del propio kernel Linux

Pero, ¿por qué usar un lenguaje de programación como Rust? Porque el uso de técnicas de programación seguras (como las variables inmutables por defecto) por parte de éste permite reducir el número de errores no detectados en el código, sobre todo los relativos al manejo de memoria.

Estas características avanzadas las ofrece Rust en combinación con soporte para la inserción de lenguaje ensamblador, lo cual resulta fundamental para el desarrollo de componentes de bajo nivel.

Recordemos que ya hay en marcha un proyecto para implantar Rust en el kernel Linux original; un proyecto que, de hecho, está en manos de un programador español y recibiendo respaldo financiero por parte de Google.

De hecho, hace un año, su creador, Linus 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”.


La noticia

Kerla, el kernel basado en Rust con el que buscan crear un ‘GNU/Linux sin Linux’

fue publicada originalmente en

Genbeta

por
Marcos Merino

.