Boot a linux kernel right inside your browser

This is demonstrative of the advantages of the new low-level APIs being added to JavaScript to work efficiently with binary data.

Fabrice uses this to implement an x86 interpreter — it could not be done efficiently without typed arrays. However, it is still slow — imagine what kind of advances could be made if a common bytecode was established that would be JIT’d by the JavaScript VM, and could be output directly by the emulator.

This is why so many people want to see the browser execution environment offer more complete, low-level APIs instead of high-level APIs locked to HTML/CSS and legacy browser technology. Efficiently supporting high-performance, high-complexity systems such as an x86 emulator (or a video game, or custom font rendering, or even an application framework) absolutely require efficient low-level APIs.

Boot linux Kernal now