JavaScript-Emulator lässt Linux in einem Browser-Tab laufen
Moderne Browser nutzen ja bekanntlich sehr schnelle JavaScript-Engines. Das hat sich Bellard zu Nutze gemacht und einen PC-Emulator für den Browser geschrieben. Als Demonstration hat er einen Link gepostet (jslinux, Technische Details), wo ein Linux-Kernel in einem Browser-Tab läuft. Der ganze Emulator ist komplett in JavaScript geschrieben und läuft laut Bellard gut in Firefox 4 und Chrome 11. Natürlich ist die ganze Sache Plattform-unabhängig, da sich die ganze Sache im Browser abspielt.
Die Emulation selbst stellt eine 32-Bit x86 CPU, 8259 programmierbare Interrupt Controller, 8254 programmierbare Interupt Timer und 16450 UART. Eine FPU gibt es nciht, aber der Linux-Kernel bringt eine Software-seitige mit sich. Als Kernel lief Version 2.6.20.
Bellard sagte, dass er den Emulator nur zum Spaß geschrieben hat. Allerdings helfe es ihm, optimierten Code für javaScript-Engines zu schreiben. Eine Sache kann er allerdings nicht erklären: In Firefox 4 mit JaegerMonkey läuft der Emulator zirka zwei mal so schnell als mit Chromes V8-Engine.
Macht so ein Emulator Sinn? Auf jeden Fall! Vielleicht kann man so alte DOS-Spiele im Browser zocken!