Google Chrome runs web pages and applications with lightning speed. |
Chromeで「Amiga 500」をエミュレートするというデモサイト「Amiga 500 Emulator - A Portable Native Client demo」が公開された。PNaCl(Portable Native Client)の機能を使って動作している。Ctrl-Shift-Fを押すことでフルスクリーン表示させることができ、フルスクリーンで動作している様はAmiga 500をネイティブに使っているような感覚になる。
GoogleはChromeでネイティブバイナリを実行するための仕組み「NaCl(Native Client)」を提供している。Chrome内部に隔離された領域を用意し、そこでネイティブバイナリを実行するというもの。既存のC/C++資産を活用することができ、実行速度も高速という特徴がある。ただし、実装そのものはプロセッサに依存しておりアーキテクチャをまたいで同じバイナリを使うことはできない。
PNaCl(Portable Native Client)は複数のアーキテクチャ(x86およびARM)で同じコードが実行できるように、ネイティブバイナリではなくLLVMの中間言語を利用する作りになっている。こうした仕組みを採用することで実行速度を引き上げつつ汎用性も確保している。「Amiga 500 Emulator」はPNaClで実装されており、PNaClで実装できるアプリケーションを知る上で参考になる。