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!

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

Walter Henrique
foda mano
Dennis Willis
Eu testei no meu chrome e no meu Firefox e não pego ! fica aparecendo assim /var/root # e num sai mais disso
gokernel
Isael: se eu mostrar para minha querida/amada/dedicada esposa, com certeza ela dirá: "mas que besteira, ainda utilizar o MS-DOS nesse tempo, só sendo tu mesmo". hahahaaaa Abraços colega ! gokernel
@shaolinmaru
Isso deve acontecer bem antes http://pt.wikipedia.org/wiki/Google_Chrome_OS
@brunogdb
Imagino as caras de WTF na rua olhando para você usando seu notebook no shopping com isso aberto, mas eu uso mesmo com o Arch em modo de texto :P.
Isael Ferreira
:X Vô mostra pra minha namorada. kkkk
Luciano
Impressionar a mulherada estou achando dificil mas .... palmas para ele.
@AntonioVeras
É, pode-se dizer que é o primeiro passo.
Marcoscs
virtualização. Imagina no futuro voce não praticamente precisar de máquinas virtuais, podendo rodar um SO direto do seu navegador.
gokernel
Parabéns pelo artigo e PARABÉNS MAIOR para o Fabrice Bellard. Para quem não conhece o Bellard, ele também desenvolve: TinyGL(OpenGL embarcado), TCC(compilador C), Qemu, etc. Não acredito que ele tenha tempo disponível sobrando... acredito que ele seja bem atarefado mesmo... apenas cria a ideia/conceito e "vende/trabalha" em cima dos excelentes trabalhos. Palmas para o admirável Fabrice Bellard pela excelente ideia. gokernel.
Erick
Impressionar a mulherada UHAHUHUAHUAAHU
j2k
um cara desse não vive...
@thiagoleite
Não consigo pensar num uso agora para isso mas imagino como isso tem potencial para evoluir. E bota tempo livre nisso. [2]
Cash
A emulação, ao contrário do que diz o post, não é limitada ao Linux, mas a escolha do Linux foi feita justamente por não precisar de FPU nem todas as baboseiras que desnecessáriamente existem na maioria dos PCs. Por exemplo, FPU, MMX e outros tipos de instrução que não são emulados, são completamente desnecessários, a menos que você queira rodar algum código que necessite dessas instruções para funcionar. E FPU não é uma instrução, é um co-processador, que nos dias de hoje já vem embutido em tudo que é processador baseado na arquitetura x86.
Linux Descomplicado
Q loco! Ele é bastante funcional! Testei alguns comandos linux, como chmod, edição de texto com o vi... e funcionou o.O Show de bola !! Vou dar uma lida na documentação!
Exibir mais comentários