Firefoxはまもなく、Mozillaの新しい研究指向ブラウザエンジン「Servo」の要素を実装し始めます。このエンジンは、Mozillaとオープンソースコミュニティによって開発された、スレッドとメモリの安全性を保証する高速な新しいプログラミング言語「Rust」でゼロから開発されています。
第一歩:完全な電気分解の導入と実装
Mozillaは最近、長年待望されていたElectrolysisサンドボックスアーキテクチャをFirefoxに実装し始めました。この新しいアーキテクチャでは、ユーザーインターフェースとタブのコンテンツを別々のオペレーティングシステムプロセスに配置できるため、それぞれに独自のリソースとサンドボックス機能が提供されます。これは、ブラウザページや拡張機能ごとに独自のプロセスが割り当てられるChromeとは異なりますが、Mozillaは今後、この新しいアーキテクチャのモジュール性をさらに高めていく予定です。
Electrolysis により、コンテンツと UI が相互に作用しなくなり、CPU がそれほど簡単に圧迫されなくなるため、Firefox で一部の Web サイトが「ハングアップ」することがなくなります。
セキュリティも大幅に向上するはずです。アプリとOSのコンポーネントが分離されているほど、システム全体のセキュリティは一般的に高まります。MozillaはElectrolysisの部分的なサンドボックス化を通じてFirefoxのセキュリティ強化に向けた重要な第一歩を踏み出しました。FirefoxがChromeのセキュリティアーキテクチャを再現できれば、将来的にはさらにセキュリティが向上する可能性があります。
ElectrolysisはFirefoxバージョン48(本稿執筆時点ではFirefoxバージョン49)で導入されましたが、その恩恵を受けられたのはわずか1%のユーザーでした。Mozillaは、Firefoxにおけるこの主要なアーキテクチャ変更をゆっくりとテストし、ほとんどのユーザーが利用できるようになるまでに大きな問題を引き起こさないようにしたいと考えています。
Electrolysisの完全な導入は今後数ヶ月以内に予定されており、その間にMozillaはFirefoxのより高度なバージョンをテストする予定です。また、各ウェブサイトコンテンツには独自のプロセスとサンドボックスが提供されます。Mozillaはこの作業が2017年前半に完了すると見込んでいます。
第二段階:サーボコンポーネントとRust言語の段階的な導入
2013年、Mozillaは、現在開発中のGeckoエンジンの代替研究として、Rust言語でServoブラウザエンジンの開発を開始しました。この新しいエンジンは、スレッドセーフかつメモリセーフなRustを活用することで、バッファオーバーフローなどの様々なバグを完全に排除し、レガシーコードのサポートを必要としない全く新しいブラウザエンジンで何ができるかを探ることを目的としていました。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
Rustは高度な並列性を重視しているため、ServoはCPUのすべてのスレッドを活用してページを読み込むことができます。そのため、マルチコアのコンピュータやデバイスを利用する多くのユーザーにとって、ページ読み込みのパフォーマンスを最大4倍向上させることができます。
現時点では、Servo自体は継続的な開発研究プロジェクトですが、MozillaはGeckoをServoにすぐに置き換える予定はありません。代わりに、MozillaはGeckoのコンポーネントをServoのコンポーネントに一つずつ置き換えるという、よりモジュール化された(そして段階的な)アプローチを採用しているようです。
Mozilla は社内でこのプロジェクトを「Quantum」と呼んでいる。これは、Servo のコンポーネントが十分にブラウザに追加されれば、Firefox のパフォーマンスが「飛躍的に向上する」と期待されていることに由来する。
Mozillaのプラットフォームエンジニアリング責任者であるDavid Bryant氏は、Mediumへの投稿で次のように述べています。「Quantumによるパフォーマンス向上は、Web体験全体が全く異なるものになるほど顕著なものとなるよう努めています。ページの読み込み速度が速くなり、スクロールも非常にスムーズになります。アニメーションやインタラクティブアプリは瞬時に反応し、より高負荷なコンテンツでも安定したフレームレートを維持できるようになります。そして、ユーザーにとって最も重要なコンテンツは自動的に最優先され、最も必要な部分に処理能力が集中します」
ブライアント氏はまた、Mozillaが使用するブラウザエンジンの基盤となる構成要素を見直し、再構築する計画であると述べました。その作業の多くは、Servoチームとそのコミュニティによって既に完了しています。Electrolysisは、Firefoxの新しいマルチプロセスアーキテクチャが高度に並列化されたServoコードによってFirefoxブラウザのパフォーマンスを最大限に高めるのに役立つため、重要な前段階でもあります。
Firefoxの明るい未来
ここ数年、Chromeは着実に市場シェアを伸ばし、世界で最も利用されているブラウザとなり、Internet ExplorerだけでなくFirefoxにも打撃を与えています。Microsoftはこの状況を予測し、Chrome風のマルチプロセスとサンドボックス化されたアーキテクチャを備えた、より将来性のあるブラウザとして、Windows 10で利用可能なEdgeを既にリリースしています。
今こそMozillaが自らを改革し、市場最速のブラウザをユーザーに提供する番です。また、新しいElectrolysisアーキテクチャとメモリセーフなRust言語の活用により、セキュリティを大幅に向上させ、来年中に提供する予定です。ブライアント氏は、ユーザーは2017年末までにFirefoxの大幅な改善を目にすることができるだろうと述べました。
ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。