Las posibilidades que entrañan los nuevos y ultrarápidos intérpretes de JavaScript pueden permitir mucho más en el futuro (¿veremos la ejecución de sistemas de escritorio enteros dentro del navegador?) pero por el momento el primer paso se ha dado con este proyecto de un programador que ha conseguido ejecutar el kernel de Linux dentro de la ventana de un browser.
Fabrice Bellard, un programador
que ha trabajado en varios proyectos de software libre y que -incluso a
modo de curiosidad- tuvo el récord mundial de cálculo de decimales del
número Pi desde el 31 de diciembre de 2009 al 2 de agosto de 2010 con
2.700 millones de decimales, es el protagonista de esta hazaña.
Bellard ha puesto en línea una demo con la cual permite arrancar BusyBox,
un conjunto de herramientas que incluyen el kernel Linux, muy
minimalista y orientado a la construcción de sistemas empotrados,
dentro del entorno de un navegador web.
Con el Linux
arrancado dentro de la ventana de nuestro navegador podemos teclear
algunas instrucciones simples e, incluso, podría ser utilizado como
herramienta de aprendizaje muy básica ya que posee todo lo necesario
para empezar a aprender las
bases de Unix/Linux, aunque debemos advertir que hay alternativas más
completas como instalar una distribución de GNU/Linux en local.
El experimento de Bellard puede ser ligado, por lo menos en concepto, a Native Client, un software desarrollado por Google que permite la ejecución de binarios x86 dentro del marco de un navegador web.
¿A donde puede conducirnos todo esto?
Con la efervescencia del cloud computing que estamos experimentando y el éxito de la virtualización en el mundo de la empresa, es fácil deducirlo: ejecutar aplicaciones de la talla de OpenOffice, Microsoft Office e, incluso, todo un escritorio de sistema operativo local, dentro de la ventana de un navegador.
Este es un primer paso, pero marca claramente las posibilidades que nos depara el futuro.
Otros datos de obtenidos
- CPU compatible con arquitectura x86 de 32 bits.
- Controlador de interrupciones 8259.
- Temporizador de interrupción 8254.
- UART 16450.
- Reloj en tiempo real.
Nota: El demo se encuentra en internet y realmente es interesante lo que permite hacer.