Met de emulator van de Franse programmeur Fabrice Bellard kunnen gebruikers een lichtgewicht versie van Linux draaien in hun browser. De virtuele computer werkt alleen onder Firefox 4 en Chrome 11. Alleen deze browsers zijn voorzien van een JavaScript engine die snel genoeg is voor deze gecompliceerde dingen.

80486-cpu

De emulator is volgens Bellard ongeveer twee keer sneller met Firefox dan met Chrome. De Fransman schreef de emulator voor zijn plezier, maar denkt wel dat het een goede JavaScript benchmark kan worden. Hij testte overigens alleen de snelheid van de 32-bits versies van de internetbrowsers.

De code van de emulator is geschreven met behulp van de typed array specificatie voor JavaScript. Daarmee is het mogelijk om native binaire data te gebruiken in JavaScript. Bellard’s script emuleert een 32-bits x86 compatible processor zonder floating-point unit (fpu). Omdat MMX (anders dan aangegeven) en een rekenkundige coprocessor ontbreken, is de geëmuleerde processor het best te vergelijken met een 80486-cpu, zo meldt techsite The H.

Linux 2.6.20

Omdat de fpu softwarematig wordt nagedaan in de Linux-kernel, is het toch mogelijk om recentere versies van het OS te draaien. Zo draait JS/Linux nu op kernel 2.6.20. De emulator bevat daarnaast een Intel 8259 programmable interrupt controller, een Intel 8253 programmable interval timer en een universal asynchronous receiver/transmitter.

Bellard haalde de inspiratie voor zijn emulator uit de emulatie/virtualisatiesoftware QEMU die hij ontwikkelde. De Fransman is daarnaast bekend van de software LZEXE. Met dat programma voor DOS was het mogelijk om gecomprimeerde uitvoerbare bestanden te draaien zonder dat deze eerst uitgepakt hoefden te worden.

JS-Linux