Programador curioso cria sistema Linux que roda inteiramente sobre Javascript
Fabrice Bellard, cujo nome vocês talvez reconheçam pelo seu papel fundamental em projetos como FFmpeg e QEMU, estava curioso sobre técnicas de criação de código otimizado para os engines Javascript dos navegadores mais modernos (Firefox 4, Chrome 11), e resolveu praticar criando (“por diversão”, segundo ele) um emulador completo de CPU 486 (e outros componentes básicos associados) em Javascript.
Não satisfeito, portou o kernel Linux (e um conjunto mínimo de outros componentes) para rodar neste seu emulador. A distribuição criada por Bellard tem o kernel já preparado para dar boot neste ambiente e usar nele um filesystem contido na imagem de boot, contendo o BusyBox, o compilador TinyCC e o QEmacs. (via lwn.net)
Caraca, vou dar uma olhada e testar. Agora da para se ver o que se da realmente para fazer com o JavaScript. =X
Maluco de atirar pedra na lua fazendo pontaria. E deixar maluco, porque ele acerta !
Vcs. viram os comentários de quem testou esse emulador ?
Meu, esse cara é um monstro!
Pior que funciona, mas ainda digo que é muita falta do que fazer +P
“Pior que funciona, mas ainda digo que é muita falta do que fazer +P”
È, ele deveria estar investindo o tempo dele em criar um axé, pagode chorão ou sertanojo.
@Weber Jr: ‘È, ele deveria estar investindo o tempo dele em criar um axé, pagode chorão ou sertanojo’.
Pelo menos ele tinha ganhado algum dinheiro…
Esse artigo reflete bem uma frase dita por Albert Einstein:
“Se inicialmente a ideia não é absurda, não há esperança sobre ela.”
Dei uma olhada no codigo em JS e meu cerebro derreteu. Parabens ao cara, fantastico.
Além de conhecer bastante java script, ele deve conhecer bastante sobre as rotinas mais basica de um sistema operacional como o linux !
No ranking das maiores “aberrações nerds” (no melhor sentido da palavra) só perde pro MenuetOS (SO completo feito 100% em assembly).
É cada “maluco” (no melhor sentido da palavra) que eu me divirto muito!
Ele podia ter instalado um xorg e uma interface gráfica tbm já que tá com tempo sobrando hahaha
Gastou um tempinho, eim!
Parabéns ao maluco, manda muito!
Por curiosidade digitei emacs e funcionou. :-)
http://twitpic.com/4yybc5/full
PQP, fico espantado com tantas mentes medíocres neste mundo. Se os que estão criticando Fabrice Bellard leram o pequeno post deste site viram que ele participa em outros projetos importantes, ou seja, ele não é tão desocupado assim. Uma rápida leitura no site dele e na Wikipedia, verão a quantidade de coisas que ele fez, inclusive é dele o record mundial de casas decimais em PI.
Se ele quis criar um emulador 486 em JavaScript, ótimo. Com isso ele provou que as novas engines para JS são muito rápidas e poderosas. Muito útil para despertar o interesse dos desenvolvedores para levar mais coisas para a web que gerará novos oportunidades, abrindo novos negócios e gerando desenvolvimento.
enquanto alguns so falam.. outros fazem… isso ae é pra poucos, mto mto poucos.
ele ERA o recordista de números PI
Esse kra têm um parafuso a menos. :)
Mandou bem d+.
[joke mode on]
Só pra descontrair, lembrei do Chrome OS da Google, daqui a pouco ela vai contratar o kra para fazer o SO rodar de dentro do Chrome tb. :D
[joke mode off]
Só faltou usar uma licença livre. Até para redistribuir tem que pedir permissão =(
testei até o VI e funcionou. Parabéns mesmo, muito bom.
InFog
Com essa engine rodando em java da para fazer literalmente um SO completo que rode dentro do navegador… Onde os usuários possam dar um apt-get e instalar os programas que desejarem.
Oh, não! O comando “reboot -f” congela o navegador… :-)
Mas ainda assim, foi um trabalho espetacular! Na minha próxima vida, eu faço um desses…
Deixa eu entender: O cara virtualizou um SO linux dentro do browser… usando javascript…
Corram! 2012 está chegando!
Fantastico trabalho! Nao tem nada de inutil. Da pra aprender C ali, o basico de shell. Aqueles que tem medo da linha de comando podem testar a vontade sem medo de estragar nada.
Não vejo nada de inútil nisso. Pelo contrário, se alguém resolver investir nessa ideia será virtualmente possível rodar qualquer aplicação Linux a partir de um browser, a partir da nuvem.
Sensasional .
Quem pensa que não tem utilidade não pensou em todas as possibilidades:
1) Emular jogos de 486 diretamente no browser
2) Transmitir sistemas compilados para plataforma diretamente para rodar no navegador, inclusive conectando remotamente em um futuro. Algo como um Terminal Service sem o cliente, diretamente no browser
3) Pensaram em rodar outro SO no ChromeOS? Sistema Operacional remoto não é algo tão absurdo quanto foi um dia…
Enfim, abram a cabeça…
…e outra, o cara adora desafios impossíveis. E isto é ótimo!
Tem muita gente que se acha o Hacker!! porque sabe instalar um cracker para rodar um software pirata.
ESTE SIM É UM HACKER!!!
Muito bom, muito bom mesmo.
@Fábio Lima
Eu já achava o MenuetOS e o KolibriOS o máximo de solução para um sistema em assembler – Isto sim é ser NERD. Agora esta em javascript, já ultrapassou este limite.
REAL PROGRAMMER
Muito bacana! O cara é bom mesmo! Está de parabéns.
Só pra tacar fogo: será que ele consegue escrever um driver usando JS?
Não sabendo que era impossível, ele foi lá e fez!
Épico.
Meu Deus, estou incrédulo. Isso é magnífico. E ao mesmo tempo me coloca exatamente no meu lugar: no nada. Trágico para mim.
O mais engraçado é que não quis rodar no Safari (a Apple faz questão de ser 100% compatível com o W3C, motivo alegado para não rodar) e nem no Ópera (acredito que ele colocou um ifzinho básico lá), porém rodou no iPhone!!!!!!! Só que como o iPhone não tem teclado e essa aplicação não habilita o teclado virtual, não deu para testar para valer se rodou ou não rodou mesmo.
Mas, repetindo, estou incrédulo!!!!!!
Não funciona no OPERA..
Esse cara é muito bom ! Podem notar que mesmo o Xen usa parte do QEMU. E o FFMPEG é sensacional.
Linua agora além de rodar em vários tipos de CPU e hardware, de celulares a supercomputadores, virtualizado (até no Hyper V do windows), ainda roda dentro de um browser !
A Google deveria contratar esse cara logo !