Uma máquina Linux no seu navegador

O JavaScript é uma linguagem de programação client-side que pode fazer muito mais do que simples animações e processar dados de servidores. O hacker francês Fabrice Bellard, que acumula no currículo projetos como o FFmpeg e o emulador/virtualizador QEMU, mostrou o potencial da linguagem de script com um simples emulador, que executa um terminal Linux na janela do navegador.

O JS/Linux emula um processador compatível com x86 em 32-bits, um controlador de interrupção programável, um temporizador de interrupção programável e uma porta serial, usando pouco mais de 90KB para fazê-lo. O PC emulado não possui um co-processador matemático e comandos MMX, o que o equipara com um processador 486 sem FPU. Essa máquina virtual pode, entretanto, ser usada para executar kernels mais antigos do Linux (2.6.20), que possuem um emulador de FPU.

O emulador em JavaScript pode ser usado na maioria dos navegadores modernos, como o Firefox 4 ou o Chrome 11. Seu código faz uso extenso de typed arrays, que só estão presentes nas implementações mais modernas. Esse novo recurso permite que dados binários sejam lidos e escritos diretamente na linguagem.

Além de um kernel Linux, o JS/Linux também possui um clone do Emacs e um compilador C (Tiny C Compiler), que pode ser testado com um pequeno código-fonte presente no computador emulado.

Fonte: h-online, em inglês.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s