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 .
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.
Quelle :
www.heise.de