Linux-PC läuft im Browser

Der französische Programmierer Fabrice Bellard hat einen PC-Emulator in JavaScript geschrieben. Er kann ein kleines Linux-System im Browser ausführen.

In Pocket speichern vorlesen Druckansicht 327 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Dass man mit JavaScript mehr machen kann, als Webseiten zu animieren und Serverdaten zu verarbeiten, zeigt der französische Hacker Fabrice Bellard mit einem PC-Emulator. Sein jslinux stellt eine x86-kompatible 32-Bit-CPU, einen Interrupt Controller, Interrupt Timer und eine serielle Schnittstelle in gut 90 KByte bereit. Zwar fehlen unter anderem ein mathematischer Co-Prozessor und MMX-Befehle, sodass die CPU einem 486er ohne FPU ähnelt. Ein älterer Linux-Kernel (2.6.20) lässt sich damit jedoch verwenden, da er die fehlende FPU selbst emuliert .

Bellards jslinux führt Linux im Browser aus.

Bellard ließ sich bei der Umsetzung von seinem Emulator/Virtualisierer QEMU inspirieren. Ausprobieren lässt sich der Emulator unter anderem in Chrome 11 und Firefox 4. Er benutzt intensiv typisierte Arrays, die es erst in neuen JavaScript-Implementierungen gibt. Damit lassen sich Binärdaten in JavaScript direkt lesen und schreiben. Neben dem Linux-Kernel enthält jslinux einen kleinen Emacs-Clone und einen C-Compiler. Dieser tcc ist wesentlich kleiner und arbeitet schneller als der GNU-Compiler.

Mit lzexe schrieb Bellard einen der ersten EXE-Packer für DOS. Er initiierte das ffmpeg-Projekt, das heute den Kern vieler Videoplayer wie mplayer und VLC bildet.

Siehe dazu auch: