Emulare Linux direttamente dal browser con emulatore e javascript

Utilizzare Linux direttamente dal Browser con emulatore e javascript

Emulare linux via web, tramite un browser e JavaScript. L’ultima fatica di un celebre hacker francese, Fabrice Bellard permette a Linux di girare all’interno di un browser moderno come Firefox o Chrome.

Riuscire ad emulare un sistema operativo all’interno di un browser non è certo cosa da tutti. Un Hacker francese di nome Fabrice Bellard ha dimostrato come il Java Script possa fare molto di più di quello a cui siamo solitamente abituati, di solito lo vediamo applicato semplicemente a dei siti web animati. L’hacker francese invece è riuscito in un’opera strabiliante come quella di far elaborare dati del server mediante la creazione di un emulatore per PC scritto in linguaggio di scripting.

Emulatore linux via browser

Nel realizzare l’attuale emulatore Bellard ha preso ispirazione dal suo QEMU emulatore/virtualiser. L’emulatore può essere utilizzato nella maggior parte dei moderni browser web come Firefox 4 o Google Chrome 11 e le successive versioni. Il progetto fa ampio uso di matrici tipizzate le quali sono disponibili solo nelle ultime implementazioni di JavaScript, questo permette ai dati binari di essere letti e scritti direttamente in del codice JS. Il "peso" di JS/Linux è di soli 90 Kbyte ed è in grado di emulalare una CPU x86 a 32bit. Così come un kernel Linux, l’emulatore JS contiene anche un piccolo clone di Emacs e un compilatore C (Tiny C Compiler) il quale è significativamente più piccolo e più veloce del compilatore GNU.

Le capacità dell’emulatore linux via browser possono essere paragonate a quelle di uno storico processore Intel 80486SX. Tra i vari test condotti da Bellard uno sembra davvero interessante: il web-emulatore di CPU x86 risulta due volte più lento con l’engine V8 di Google Chrome rispetto all’engine Jaeger Monkey di Firefox.

Altri emulatori via browser:

Già in passato avevamo assistito a progetti simili come l’emulazione di Windows 3.1 sempre via browser. Tramite un progetto chiamato michaelv.org è infatti possibile utilizzare Windows 3.1 direttamente nel nostro browser. Ovviamente si tratta di una riproduzione non proprio perfetta, ma perfettamente funzionante e con la presenza di tutti i vecchi strumenti che caratterizzarono il famoso Windows 3.1 a partire dal mitico campo minato. In michaelv.org sono presenti la versione 3.1 di Internet Explorer, calcolatrice, blocco note, MS-DOS, un media player, un file readme e tanti altri strumenti perfettamente funzionanti. Anche questo progetto è scritto in JavaScript,PHP e XTML.

Chi è Fabrice Bellard?

Bellard, chiamato il "coder extraordinaire" è famoso anche per la creazione di LZEXE , uno dei programmi zip eseguibili per DOS, inoltre ha anche fondato la FFmpeg project che oggi costituisce il nucleo di molti video open source nei più diffusi lettori compresi MPlayer e VLC Media Player. Tra le sue opere figura anche l’emulatore x86 QEMU. Fabrice Bellard è anche stato vincitore per ben due volte dell’ International Obfuscated C Code Contest (IOCCC). Sicuramente l’utilità di un emulatore linux come questo può essere messa facilmente in discussione.

Se non altro JS/Linux ha il merito di mettere ancora una volta in risalto le abilità di Fabrice Bellard e mostrare le potenzialità del Java Script. Se volete approfondire il discorso o se volete semplicemente dare un’occhiata alle creazioni del francese vi segnalo il link diretto al sito web di Fabrice Bellard: http://bellard.org/ Qui potete trovare tutti i suoi progetti mentre nella sezione "Old project" potete trovare anche le vecchie glorie di Bellard. Per testare l’emulatore invece cliccate qui e attendete il boot del sistema: http://bellard.org/jslinux/

E voi che ne pensate? Chissà se un giorno anche i moderni sistemi operativi potranno essere emulati in maniera efficiente come il progetto di Bellard.

STAMPA     Tags:,

5 Comments

  1. Panda95 12 ottobre 2011
  2. electropower 16 giugno 2011
  3. electropower 16 giugno 2011
  4. lucagiuliodori 16 giugno 2011
  5. Ser_gio 18 giugno 2011

Leave a Reply