Não há dúvida alguma que os navegadores estão evoluindo cada vez mais, e sendo capazes de rodar aplicativos cada vez mais complexos e pesados. Mas um desenvolvedor (que provavelmente tinha um bom tempo livre) foi além: criou um emulador de Linux todo em Javascript, que roda no seu navegador!

O autor da façanha, Fabrice Bellard, conseguiu desenvolver completamente em Javascript uma máquina com arquitetura x86 e que roda uma versão (em modo texto apenas) do Linux. E as configurações da máquina, embora arcaicas para as configurações atuais, chamam a atenção: estamos falando de uma máquina com um processador de velocidade próxima a um 486 rodando no seu navegador, e com um sistema Linux perfeitamente funcional!

Deve rodar Doom também

Obviamente, faltam algumas instruções básicas no processador: ele não possui FPU (floating point unit) por exemplo, mas isso é resolvido pela versão do Kernel Linux utilizado (2.6.20), que possui um emulador de FPU. Em outros casos, como a falta de modo protegido em 16-bit, não há muito o que fazer.

“Mas o que eu iria fazer com um emulador do Linux no meu navegador se ele só roda em modo texto e não possui nem mesmo rede?” – Você deve estar se perguntando. Oras, ele pode ser usado como uma plataforma de benchmarking de sistemas Javascript, assim como uma plataforma de testes de aplicações, ou até mesmo para rodar alguns jogos antigos, mesmo que tenha sido feitos em DOS. Além do mais, é muito útil para impressionar os amigos e a mulherada. 🙂

Um detalhe importante é que o emulador só mostrou rodar bem no Chrome e no Firefox 4, em outros navegadores ou ele não rodou ou apresentou um erro de que o navegador era muito antigo (como no caso do Ie8 e Opera 11) .Em todo o caso, vale dar uma olhada.

O emulador pode ser acessado no próprio site de Bellard, assim como a documentação.

Dica do leitor Ike Pucci no Twitter. Valeu, Ike!

Leia | O que é um emulador de jogos?

Relacionados

Escrito por

Paulo Graveheart

Paulo Graveheart

Ex-redator

Paulo Henrique "Graveheart" é formado em Ciências da Computação e fez parte da equipe do Tecnoblog entre 2010 e 2014, como redator. Participou da cobertura de lançamentos no mundo do desenvolvimento de software, PCs, mobile e games. Também tem experiência profissional como desenvolvedor full-stack e technical lead.