「速く,シンプルで,セキュアに」が肝となるGoogle Chrome OS。現時点で明らかなのは,Linuxカーネルに新ウインドウ・システムとChromeブラウザを載せた軽量OSであるということだけだ。「速く」「シンプルで」「セキュア」なOSをどう実現するのか。2010年後半の製品デビューを前に,分かっているわずかな手がかりから,アーキテクチャの本命を大胆に推理した。

速く:機能を削ぎ落として高速起動

 Chrome OSの「速さ」は「Chromeブラウザを利用できるまでの時間」と「Webアプリケーションの処理性能」の大きく2要素がある。Chrome OSは「数秒で起動してWebにアクセスできる」(Google)とその高速性を語っているだけで,Webアプリケーションそのものの高速化には言及していない。Webアプリケーションの高速化はChromeブラウザの役割ということだろう(関連記事)。従って,今回は起動の速さをどのようなアーキテクチャで実現するのかに焦点を絞る。

 起動時間短縮の本命と考えられるのは,起動時間の多くを占めるBIOSとOSの初期化プログラムを改善する手法だ。Chromeブラウザが動作する必要最小限のプログラムだけを圧縮技術を併用するなどして瞬時に読み込み,Chromeブラウザをデスクトップ環境として起動させる。10秒以内に起動するLinuxとしてノートPCで採用例が増えている米DeviceVMの「Splashtop」と同様のアプローチである(関連記事)。Splashtop搭載機はGoogleが協力企業として名を挙げた台湾ASUSTeK Computerや米Hewlett-Packard,米Lenovoといった多くのノートPCベンダーが採用している(機能名はベンダーごとに異なる)。

 機能を削ぎ落とすことによるトレードオフは,拡張用のインタフェースだ。例えばSplashtop搭載ノートPCの多くは,Slashtop環境では有線/無線LANとUSBという必要最小限のインタフェースのみが利用可能で,HDMIなどそれ以外のインタフェースはメインOSであるWindowsを起動しなければ使えない。Chrome OSが汎用OS並みに豊富な周辺機器への対応を売りにするのであれば,プラグ・アンド・プレイなどの時間のかかる処理をChromeブラウザが利用できるようになった後で実施するなどの仕組みを採るはずだ。

 Slashtopの例を見ても分かるように,そもそもChrome OSを唯一無二のOSにする必要はない。Splashtopと同じように,後からWindowsを起動できるようにしておけばよい。ネットブック向けのWindows XP Home Editionやその後継のWindows 7を併用したとしても,Splashtop採用メーカーはChrome OSに乗り換えることで,Splashtop分のコストは削減できる。

ハイバネーションの高速化が課題

 このほかOSの起動には,「サスペンド」と「ハイバネーション」がある。OSが起動した状態をメモリーやハードディスクに保持するので,一般に1から起動するより高速だ。特にサスペンドは大抵のOSにおいて数秒で復帰するため,Chrome OSの速さを制限する要素ではない。

 問題はハイバネーションだ。これは主記憶の内容をハードディスクやSSDに書き出し,復帰時には書き戻す。1Gバイトのメモリーが相場のネットブックであっても,数秒で復帰するというのは難しい。ハイバネーションを高速化するには,Chrome OSおよびChromeブラウザの設定のみ保存し,後は常に同じイメージから復帰するというアプローチが必要になる。仮に,作業の「状態」はクラウド側にあり,ローカル・ストレージで保存するのはWebアプリケーションをオフラインで動作させる「Google Gears」のキャッシュのみ,という割り切った実装であれば,起動,サスペンド,ハイバネーションのすべてで「数秒」の目標が達成できるかもしれない。