El núcleo de Linux arranca por primera vez directamente en el navegador, sin instalación ni máquinas virtuales.

El núcleo de Linux arranca por primera vez directamente en el navegador, sin instalación ni máquinas virtuales.

Proyecto demuestra gran potencial de WebAssembly para ejecutar componentes de sistemas complejos

image

El desarrollador Joel Severin presentó una compilación experimental del núcleo de Linux, portada al formato WebAssembly, lo que permitió ejecutarlo directamente en el navegador. La versión de demostración funciona en un entorno de shell y admite comandos básicos; sin embargo, la estabilidad deja que desear: su uso en Google Chrome provoca fallos con rapidez.

Este proyecto, según el autor, no pretende un uso práctico y se considera más bien un experimento técnico. El autor subraya que las limitaciones actuales de ambas plataformas — tanto Linux como WebAssembly — dificultan la implementación de un soporte completo, aunque no son insuperables en sí mismas.

Con interés por parte de la comunidad y la voluntad de adaptar las particularidades arquitectónicas de ambos sistemas, esos obstáculos pueden superarse. Son especialmente importantes los cambios en la propia implementación de WebAssembly, ya que para un funcionamiento cómodo será preciso mejorar sus elementos clave.

El puerto del núcleo se apoya en componentes modificados — incluidas versiones adaptadas de Linux, LLVM, la biblioteca musl libc, initramfs y BusyBox. El código fuente del proyecto está publicado en abierto en GitHub, y la demostración está alojada en GitHub Pages y se puede ejecutar directamente en la ventana del navegador. El arranque se realiza en un entorno de usuario mínimo, lo que permite familiarizarse con las capacidades de WebAssembly a través del ejemplo de un sistema operativo completo.

A pesar de su carácter experimental, el proyecto ilustra el potencial de WebAssembly como plataforma universal para ejecutar componentes del sistema complejos que antes requerían ejecución nativa. La discusión sobre el portado se publicó en LKML y ya ha generado una respuesta animada en la comunidad técnica. La implementación plantea preguntas sobre las perspectivas de uso de WebAssembly no solo para aplicaciones cliente, sino también para componentes de bajo nivel del sistema operativo.