Google ChromeはGoogleからリリースされ、とにかく動作が速いということで注目を集めた。ただし高速なのは興味深いことだが、ほかのブラウザでも積極的に改善が進められているためブラウザ事情に精通したデベロッパはさほど驚かなかっただろう。デベロッパとしてはむしろ、単一のプロセスではなく複数のプロセスを生成して動作するという点に興味を持ったのではないだろうか。Chromeには既存のオープンソースプロジェクトの成果物が活用されているため、実装の新規性よりも組み合わせや改善のうまさが際立つ。新アイディアという点で見ると、Chromeで注目すべきはマルチプロセスアーキテクチャという設計にある。
マルチプロセスアーキテクチャについてはMulti-process Architectureにわかりやすい説明がまとまっている。Chrome以外の主要ブラウザは単一のプロセスで動作するが、Chromeは多くのシステムプロセスを生成する。1ブラウザ1プロセスは歴史的な背景やリソースを抑えるという点で無難な設計だが、Webアプリを日常的に使うようになった昨今では1つのバグが動作しているすべてのブラウザウィンドウやタブを引き連れてクラッシュしてしまうという問題も抱えている。クラッシュ時に開いていたウィンドウやタブを復旧する機能が実装されるなど対応も進められているが根本的な解決ではない。
そこでChromeではGoogle Chromeの本体となるブラウザプロセス、レンダリングを担当するレンダリングエンジンプロセス、プラグインと通信するプラグインプロセスという3種類のシステムプロセスを生成してレンダリングエンジンがバグでクラッシュしてもほかのブラウジングには影響がでない仕組みを考案した。これがマルチプロセスアーキテクチャだ。
ブラウザプロセスはウィンドウ本体のプロセス。ディスクアクセス、ネットワークアクセス、ユーザ入力、画面出力を統括する。レンダリングエンジンプロセスはレンダリングエンジンをプロセスとして分離するもので、マルチプロセスアーキテクチャのアイディアの要だ。レンダリングエンジンがクラッシュしてもシステムプロセスとして分離しているためほかのレンダリングには影響を与えない。同じサイトの場合は新しくウィンドウやタブを開いても同じレンダリングプロセスが使われる。サイトごとに新しくレンダリングプロセスが生成される仕組みだ。プラグインプロセスはプラグインを別プロセスとして分離するものだ。レンダリングは複雑な処理であり問題を完全に排除することは難しい。であればシステムプロセスとして分離してクラッシュしてもほかの処理に問題がでないようにするというのは妥当な戦略だ。
開くサイトが増えるごとにレンダリングプロセスが生成されていくということは、それだけOSの動作が重くなることを意味している。スレッドよりもプロセスの方がコンテキストスイッチの負荷が大きいからだ。このためChromeではデフォルトでレンダリングプロセスの生成数上限を20に設定し、それ以降のレンダリングプロセス要求に対してはすでに動作しているレンダリングプロセスを使いまわすように設定している。通常の使い方をしている限り、この設定は妥当なものだと説明されている。マルチプロセスアーキテクチャとそのアルゴリズムは現在は単純なもので、今後はさらにプロセスの生成やスワップ処理について改善が加えられるという。
| Google ChromeにおけるJavaScriptプログラミングの留意点 [2008/9/9] |
| Google Chromeと次期Firefox競合相手、ブラウザではなくFlash? [2008/9/11] |
| FirefoxがGoogle Chromeを気にしなくていい10の理由 [2008/9/8] |
| Google、「Google Chrome」(ベータ版)メディア向け説明会開催 [2008/9/5] |
| Chromeにクレーム? 最速とのGoogleの主張にMozillaが反論 [2008/9/4] |
| Google、Webブラウザ「Chrome」を9月2日リリース [2008/9/2] |
| Google独自ブランドのWebブラウザ「Google Chrome」が登場へ [2008/9/2] |
| エンタープライズ向けCMS「eZ Publish 4.7」が公開 [07:30 5/28] |
| 理研、脳・脊髄形成に必要な神経板湾曲の仕組みを解明 [20:16 5/25] |
| 京大、「慢性閉塞性肺疾患」患者の労作時呼吸困難は鍼治療が有効と実証 [20:08 5/25] |
| 120Hz SHVカメラ用イメージセンサーを使った撮像装置 - SHVフルスペック化へ [18:10 5/25] |
| 京大、視覚による物体認知は前頭前野からのトップダウン信号が重要と確認 [17:45 5/25] |
|
東京駅丸の内駅舎が完成間近! ドーム内部・ギャラリー・ホテル客室を公開 [08:30 5/28] ライフ |
|
[スノーホワイト]“戦う白雪姫”の吹き替えは坂本真綾 浪川大輔、大塚明夫も [08:00 5/28] エンタメ |
|
【コラム】マネーのトリビア 第21回 決算ニュースに出てくる、粗利益、営業利益、経常利益、最終利益、どう違う? [08:00 5/28] ライフ |
|
【連載】発音も聞けちゃう、知って得するidiom情報 第15回 hit the books [08:00 5/28] ライフ |
|
マイナビクリエイター、スマートフォンゲームアプリ開発セミナーを6/23開催 [08:00 5/28] クリエイティブ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。