Carlos Cardoso 12 anos atrás
2011 - o Ano do Linux no Javascript
Uma das características da mente Hacker (no sentido original do termo) é a de aceitar desafios pelo simples fatos deles existirem. Fazer algo apenas para saber se pode ser feito é algo que ou você entende ou não entende.
Para quem entende, o experimento de Fabrice Bellard é algo lindo de se ver. Ele criou um emulador de um pc x386 rodando todo em... JavaScript.
Baseado no QEMU, o programa usa Typed Arrays e simula uma máquina com:
32 bit x86 compatible CPU
8259 Programmble Interrupt Controller
8254 Programmble Interrupt Timer
16450 UART
Real Time Clock
É claro que há várias limitações, não há processador para ponto flutuante, nem modo real ou 16 bits, embora as instruções estejam emuladas, pois são usadas pelo Linux.
Mesmo assim é espantoso ver o quanto a capacidade de processamento evoluiu. JavaScript quando surgiu, ainda batizada de LiveScript era apenas um brinquedo, navegadores mal e porcamente navegavam, as máquinas não tinham processamento sobrando.
Hoje conseguimos não só rodar aplicações pesadas, como emular máquinas inteiras. Lembrando que o próprio JavaScript roda em cima de uma máquina virtual. É uma coisa meio Inception.
E mais: Se a máquina rodou Linux, muito provavelmente seria capaz de rodar Windows 95. O que exigia um computador inteiro (e caro) alguns anos atrás hoje se resolve em uma instância dentro de um navegador.
O JavaScript Linux funciona nos seguintes navegadores:
Firefox 4.x
Chrome 11
Opera 11.11
Internet Explorer 9
Pode ser executado neste link aqui.