Zum Hauptinhalt Zur Navigation

Fabrice Bellard: PC-Emulator in Javascript bootet Linux

Fabrice Bellard hat einen PC-Emulator in Javascript implementiert und veröffentlicht. Sein Javascript PC Emulator bootet Linux in modernen Browsern.
/ Jens Ihlenfeld
46 Kommentare News folgen (öffnet im neuen Fenster)
Bellards Javascript PC Emulator bootet Linux (Bild: Golem.de)
Bellards Javascript PC Emulator bootet Linux Bild: Golem.de

Der von Fabrice Bellard umgesetzte PC-Emulator(öffnet im neuen Fenster) emuliert eine x86-CPU (32 Bit), einen programmierbaren Interrupt-Controller vom Typ 8259 und einen programmierbaren Interrupt-Timer vom Typ 8254 sowie einen 16450-UART-Chip. Bellard hat den Emulator komplett in Javascript geschrieben und nutzt Typed Arrays, die von Firefox 4 und Chrome 11 unterstützt werden.

Ein Teil des Codes sei von Qemu inspiriert, schreibt Bellard in den technischen Erläuterungen zu seiner Software(öffnet im neuen Fenster) . Dennoch gebe es große Unterschiede zu Qemu.

Die emulierte CPU entspreche nahezu einem 486er ohne FPU, was für Linux keine Rolle spiele, da es über einen FPU-Emulator verfüge. Eingesetzt wurde Linux 2.6.20.

Er habe lernen wollen, wie sich optimierter Javascript-Code für moderne Javascript-Engines schreiben lasse, erläutert Bellard seine Motivation. Der Emulator läuft in Firefox etwa doppelt so schnell wie in Chrome. Eine sinnvolle Nutzung sieht Bellard daher als Benchmark für Javascript-Engines. Eigentlich habe er das Projekt aber nur zum Spaß umgesetzt, sagte er. Eine Weiterentwicklung könnte es aber ermöglichen, alte PC-Software oder Spiele im Browser laufen zu lassen.


Relevante Themen