Menü
iX Magazin

Linux-PC läuft im Browser

Von
vorlesen Drucken Kommentare lesen 327 Beiträge

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: