Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


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)


• Publicado por Augusto Campos em 2011-05-17

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    @Tacioandrade_ (usuário não registrado) em 17/05/2011 às 3:22 pm

    Caraca, vou dar uma olhada e testar. Agora da para se ver o que se da realmente para fazer com o JavaScript. =X

    Mauro (usuário não registrado) em 17/05/2011 às 3:29 pm

    Maluco de atirar pedra na lua fazendo pontaria. E deixar maluco, porque ele acerta !

    Vcs. viram os comentários de quem testou esse emulador ?

    Filipe (usuário não registrado) em 17/05/2011 às 3:34 pm

    Meu, esse cara é um monstro!

    Vin .im (usuário não registrado) em 17/05/2011 às 3:38 pm

    Pior que funciona, mas ainda digo que é muita falta do que fazer +P

    Weber Jr. (usuário não registrado) em 17/05/2011 às 3:41 pm

    “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.

    mauricio (usuário não registrado) em 17/05/2011 às 3:45 pm

    @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…

    Victor Silva (usuário não registrado) em 17/05/2011 às 3:48 pm

    Esse artigo reflete bem uma frase dita por Albert Einstein:
    “Se inicialmente a ideia não é absurda, não há esperança sobre ela.”

    Anderson Santos (usuário não registrado) em 17/05/2011 às 3:50 pm

    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 !

    Fábio Lima (usuário não registrado) em 17/05/2011 às 3:59 pm

    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!

    Filipe Gaio (usuário não registrado) em 17/05/2011 às 4:04 pm

    Ele podia ter instalado um xorg e uma interface gráfica tbm já que tá com tempo sobrando hahaha

    Eduardo Braga (usuário não registrado) em 17/05/2011 às 4:05 pm

    Gastou um tempinho, eim!

    Parabéns ao maluco, manda muito!

    Guaracy Monteiro (usuário não registrado) em 17/05/2011 às 4:12 pm

    Por curiosidade digitei emacs e funcionou. :-)
    http://twitpic.com/4yybc5/full

    Well (usuário não registrado) em 17/05/2011 às 4:19 pm

    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.

    Ron (usuário não registrado) em 17/05/2011 às 4:26 pm

    enquanto alguns so falam.. outros fazem… isso ae é pra poucos, mto mto poucos.

    Ron (usuário não registrado) em 17/05/2011 às 4:32 pm

    ele ERA o recordista de números PI

    André Moraes (usuário não registrado) em 17/05/2011 às 4:36 pm

    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]

    InFog (usuário não registrado) em 17/05/2011 às 4:49 pm

    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

    Filipe Gaio (usuário não registrado) em 17/05/2011 às 4:50 pm

    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.

    amg1127 (usuário não registrado) em 17/05/2011 às 5:23 pm

    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…

    Paulo (usuário não registrado) em 17/05/2011 às 5:26 pm

    Deixa eu entender: O cara virtualizou um SO linux dentro do browser… usando javascript…

    Corram! 2012 está chegando!

    Gustavo (usuário não registrado) em 17/05/2011 às 5:31 pm

    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.

    Frank (usuário não registrado) em 17/05/2011 às 5:36 pm

    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.

    Rodrigo Romano (usuário não registrado) em 17/05/2011 às 5:38 pm

    Sensasional .

    Marcel (usuário não registrado) em 17/05/2011 às 5:41 pm

    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!

    Job (usuário não registrado) em 17/05/2011 às 6:00 pm

    Tem muita gente que se acha o Hacker!! porque sabe instalar um cracker para rodar um software pirata.

    ESTE SIM É UM HACKER!!!

    Riser (usuário não registrado) em 17/05/2011 às 6:02 pm

    Muito bom, muito bom mesmo.

    Ezek (usuário não registrado) em 17/05/2011 às 6:19 pm

    @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.

    foobob (usuário não registrado) em 17/05/2011 às 6:37 pm

    REAL PROGRAMMER

    Fellype (usuário não registrado) em 17/05/2011 às 7:04 pm

    Muito bacana! O cara é bom mesmo! Está de parabéns.

    Só pra tacar fogo: será que ele consegue escrever um driver usando JS?

    Allan Taborda dos Santos (usuário não registrado) em 17/05/2011 às 7:04 pm

    Não sabendo que era impossível, ele foi lá e fez!

    Renan Birck (usuário não registrado) em 17/05/2011 às 7:11 pm

    Épico.

    Tiago (usuário não registrado) em 17/05/2011 às 7:18 pm

    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!!!!!!

    Carlos Felipe (usuário não registrado) em 17/05/2011 às 7:19 pm

    Não funciona no OPERA..

    Amarok (usuário não registrado) em 17/05/2011 às 7:30 pm

    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 !

Este post é antigo (2011-05-17) e foi arquivado. O envio de novos comentários a este post já expirou.