martes, 17 de mayo de 2011

Emulador X86-PC JSLinux


Leo y adjunto: Un matemático francés, Fabrice Bellard, presentó un emulador de x86-PC, escrito totalmente en JavaScript. Esta implementado la emulación de la CPU de 32 bits compatible con x86, controlador de interrupciones 8259, temporizador 8254 y el transceptor 1650 UART.

El emulador es capaz de arrancar Linux en una ventana de navegador web moderno (probado en Firefox 4 y Google Chrome 11). Al iniciarse el emulador carga el Linux kernel 2.6.20 (configuración del kernel). A continuación se crea un disco ram con un sistema de archivos ext2, que sirve de raíz para el sistema. Al final se ejecuta el shell estándar del paquete busybox.

El arranque tarda solo unos segundos. El entorno tiene los comandos estándar como ls, top, ifconfig, ping y netstat. Por defecto se levanta el interfaz loopback (lo). La distribución incluye un conjunto de aplicaciones bastante completo. Por ejemplo, están los editores de texto, vi y qemacs, compilador TCC, servicios de red DNSD, ntpd, ftpd, httpd, sendmail. uClibc se utiliza como el biblioteca de sistema.

El emulador utiliza los matrices de tipo de JavaScript, lo que permite aumentar la productividad y reducir el consumo de memoria cuando se trabaja con datos conjuntos de tamaño fijo. La emulación de terminal esta hecho usando termlib.

El motivo detrás de la creación del emulador por Fabrice Bellard era simplemente el interés en la implementación de motores modernos de JavaScript. En el futuro, Bellard no excluye la posibilidad de crear su propio motor de JavaScript. Según Bellard, la creación del emulador fue una escuela maravillosa para estudiar la optimización de código en JavaScript.

En cuanto a la valoración de los resultados, el emulador ahora funciona con Firefox 4 aproximadamente dos veces más rápido que con Chrome. Las razones de diferencias aún no se han analizado en detalle.

Fabrice Bellard ademas es conocido como el creador de QEMU, FFmpeg, TinyGL (versión abreviada de OpenGL) y el editor de texto QEmacs, el compilador ultra-rápido de C — TCC (Tiny C Compiler). Entre los matemáticos Bellard es conocido como el creador de la fórmulas más rápidos para el cálculo de pi.

Pruebas realizadas usando Firefox 4

No hay comentarios:

Publicar un comentario