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.
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 .
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:
- Javascript PC Emulator [9] im heise Software-Verzeichnis
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
Copyright © 2011 Heise Medien