【レポート】

オール・アバウト・Google Chrome - Google Developer Dayセッションレポート

1 Chromeのアーキテクチャ

 
  • <<
  • <

1/2

HTML5の記事に続き、Google Developer Dayのセッション参加レポートとして、坊野博典氏による「Google Chromeの内部構造」というセッションで学んだ内容を簡潔にまとめてみたい。

同セッションは、Google Chromeに関するあらゆる内容を凝縮したと言っても過言ではない、非常に濃密な45分であった。 内容も多岐にわたっていたため、大まかに以下のように分けて再構成し、お伝えしようと思う。

  • Chromeのアーキテクチャ
  • Chromeの今後
  • Chromeの開発手法・体制

Chromeのアーキテクチャ

Chromeの基本的な設計思想として、以下の三つが大きな柱となる。

  • 安定
  • 高速
  • 安全

安定

Webブラウザというソフトウェアにおいて、非常に重視されるのが安定性だ。どんなWebページを読み込んでもクラッシュする事なく、どんなJavaScriptコードを実行してもフリーズする事がない、というブラウザがあればまさに理想的である。

しかし、複雑を極める現代のWebサイト/Webアプリケーションを無数に処理しなくてはならないことを考えると、それは不可能というもの。それを踏まえてChromeには、「現代のブラウザは、(その上で無数のWebアプリを同時に動作させねばならないため)一昔前のマルチタスクOSのようなもの」という思想のもと、タブごとに別のプロセスを割り当てるアーキテクチャ、つまりマルチプロセスアーキテクチャが採用されている。

Chromeでは、以下のようなプロセスが連携してWebページの実行を行っている。

  • ブラウザプロセス・・・Chromeのメインプロセス
  • 描画プロセス・・・Webページの描画を担当するプロセス。サンドボックス(後述)環境下で動くため、ローカルリソースへのアクセスが一切禁止されている
  • プラグインプロセス・・・FlashやSilverlightなどのブラウザプラグイン。それらがクラッシュしてもWebページの実行に影響を及ぼさないよう、独立したプロセスとして実行される

このように、Webページの実行・描画に際して、はっきりと役割を分けられた複数のプロセスが協調して動作するのがChromeのアーキテクチャだ。こうしたアーキテクチャにより、プラグインやWebページがクラッシュしても、ブラウザプロセスや他の描画プロセスには影響を及ぼさず、ブラウジングを継続できる、というのがChromeの利点である。

また、今まで語られる事はほとんどなかったが、Chromeが1.0から2.0に上がる際、HTTPやFTPでネットワークアクセスを行うためのコードは完全に書き直された(それぞれ「New HTTP」「Portable FTP」と呼ばれているそうだ)。これにより、さらに移植性や安定性が高まったとの事である。

高速

Chromeに搭載されたJavaScriptエンジンは「V8」と呼ばれている。JavaScriptの重要性はこれからも高まる一方で、それに対応するために全くのゼロからGoogleが開発したものだ。

オープンソース(BSDライセンス)として公開されているため、V8単体でも利用可能。特徴は、とにかく、とにかく高速なことだ。今後のロードマップ上でもさらなる高速化が計られている。

V8が開発された目的の一つとして、「JavaScriptのパフォーマンスに対する、最低要求レベルを向上させる」というものがあったと言う。確かに昨年Chromeがβ公開されてから、WebブラウザはそれぞれChromeに負けじと、JavaScriptの実行速度向上にしのぎを削っている。この状況こそ、まさにGoogleが望んだ事なのだろう。

安全

Chromeはマルチプロセスアーキテクチャであり、メインのブラウザプロセスと、Webページを描画するためのプロセスが分かれている事は先程述べた通りだ。

そして、描画プロセスはいわゆる「サンドボックス」内で実行され、ローカルリソースに対して一切アクセスすることができない。ここで言うローカルリソースとは、ファイルの読み書きなどはもちろんの事、ネットワークアクセスやマウスやキーボードからの入力イベントなども含む。こうした処理は、全てメインのブラウザプロセスを通じて行うことになっている。

Webページの描画がサンドボックス内で行われることで、どれほど悪質なマルウェアでも出来る事が相当限られてくる。これにより、安全なブラウジングが保証されるというわけだ。

  • <<
  • <

1/2

インデックス

目次
(1) Chromeのアーキテクチャ
(2) Chromeの今後、開発手法・体制
関連キーワード


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

プリンスの自宅ツアー、10月から開始予定
[11:12 8/27] エンタメ
森保一、意外な育成術が明らかに『プロフェッショナル』が密着
[11:00 8/27] エンタメ
[深水元基]「真田丸」“猛将”福島正則役 素顔は「酒に弱く」小日向文世に本気ビビり
[11:00 8/27] エンタメ
CEDEC 2016 - トップCGアーティストが華麗な実践テクニックを披露
[11:00 8/27] パソコン
イチから復習! iPhone/iPadで活用したいビジネスアプリ 第50回 必要な機能だけ追加できる高機能レコーダー「ディクタフォン」
[11:00 8/27] 企業IT

求人情報