ChromeOSはChromeのためのOS

いろいろな方のブログを見ながらChromeOSってどんなものかあれこれ楽しく考えていましたが、やはりその名の通りChromeOSはChromeのためのOS でしょう。
Chromeしか動かないとしたら、それはずいぶんとんがっているなと思っていたけど、マイクロソフトのOfficeのWebアプリの話を聞くとそうでもないかなと。

これの立役者はJavaScriptエンジンの劇的な改善ですね。
このスライドを見つけて特にそう思いました。

かつてのJavaの実行環境の進化をさらに上回る勢いでJavaScriptのエンジンは進化しているそうですが、それは複数のオープンソースコミュニティが互いに影響を与えながら競争しているためだということです。
納得。

ChromeOSではx86だけでなくARMもサポートされると発表されています。でもプログラムがJavaScriptで書かれているならばターゲットのアーキテクチャに依存しないところがいいですね。
一口にARMとはいっても実はARMv5TE, ARMv6, ARMv7, そしてFPUの有無と種類, neon命令の有無などたくさんの組み合わせがあります。これはプログラムの流通の際のトラブルの原因になります。
AndroidのNDKでは現状はしかたなく一番下のARMv5TE FPU無しに合わせざるをえません。
しかしこれが、JavaScriptのようにソースコードの形で流通し、ターゲット側でそれぞれ自分の環境に合わせてコンパイルして実行されるならばこの問題はスマートに解決です。そういう意味で私はJITコンパイラの進化に注目しています。

AndroidのDalvikVMのJITコンパイラはどうなっているのかな?
上のスライドをみる限り、ChromeのV8は構文ツリーから(バイトコードを経ずに)直接機械語命令を生成しているそうですが、それだとDalvikVMとの共有化はできなさそうです。