zurück zum Artikel

Linux-PC läuft im Browser

Christian Kirsch

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

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 [1] 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 [2], da er die fehlende FPU selbst emuliert .

Screenshot

Bellards jslinux führt Linux im Browser aus.

Bellard ließ sich bei der Umsetzung von seinem Emulator/Virtualisierer QEMU [3] inspirieren. Ausprobieren lässt sich der Emulator unter anderem in Chrome 11 und Firefox 4. Er benutzt intensiv typisierte Arrays [4], 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 [5] und einen C-Compiler. Dieser tcc [6] ist wesentlich kleiner und arbeitet schneller als der GNU-Compiler.

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

Siehe dazu auch:


URL dieses Artikels:
https://www.heise.de/-1244469

Links in diesem Artikel:
[1] http://bellard.org/jslinux/tech.html
[2] http://bellard.org/jslinux/
[3] http://qemu.org/
[4] http://www.khronos.org/registry/typedarray/specs/latest/
[5] http://bellard.org/qemacs/
[6] http://bellard.org/tcc/
[7] http://bellard.org/lzexe.html
[8] http://ffmpeg.org/
[9] http://www.heise.de/software/download/javascript_pc_emulator/80512