Googleは既に、2005年にアンディ・ルービンから買収したAndroidと、自社開発のChrome OSを保有しているが、まもなく「Fuchsia」というコードネームで呼ばれる第3のOSをリリースする予定だ。この新しいOSは、小型組み込みデバイス(IoT)からスマートフォンやPCまで、あらゆるデバイスで動作する可能性がある。
Googleは今夏初め、GitHub上に「Fuchsia」(ピンク+パープル)オペレーティングシステムの公開ページをひっそりと開設しました。このプロジェクトのGitHubページにはGoogleのドメインへのリンクも貼られており、より詳しい情報が掲載されています。
マゼンタと「リトルカーネル」
新しいオペレーティングシステムは、AndroidやChrome OSのようにLinuxカーネルではなく、「Magenta」カーネルを使用します。Magentaは「Little Kernel」(LK)をベースに構築されています。LKは組み込みデバイス向けに設計された小型カーネルで、FreeRTOSやThreadXなどのリアルタイムオペレーティングシステムの競合となります。
Linux Foundationでさえ、モノのインターネット(IoT)向けにZephyrと呼ばれる非Linuxカーネルをサポートする予定であるため、GoogleがLinuxカーネルを放棄するという決定は、一見したほど過激なものではないかもしれません。Linuxカーネルには現在約1500万行のコードが含まれており、その多くはGoogle独自のOSには必要ありません。
コード行数が多いということは、攻撃対象領域も広くなることを意味します。Linuxディストリビューションは一般的にWindowsやmacOSよりも安全だと考えられてきましたが、メンテナーはセキュリティを優先事項として扱ってきませんでした。Linuxコミュニティがより積極的にセキュリティメカニズムを実装することを検討し始めたのはごく最近のことであり、Androidもその恩恵を受けるでしょう。
マゼンタとLKの違い
MagentaはLKとは多くの点で異なります。例えば、LKはRAM容量が非常に少ないデバイス向けに設計されているのに対し、Magentaは主にスマートフォンやPCなど、RAM容量が大きく処理能力もはるかに高いデバイスをターゲットとしています。Magentaはシステムプロセスもサポートしていますが、LKはサポートしていません。しかし、Magentaのプロセスは、スレッドやメモリといったLKレベルの構成要素で構成されています。
LKと比較すると、Magentaはファーストクラスのユーザーモードサポート、オブジェクトハンドルシステム、そしてケイパビリティベースのセキュリティモデルを備えています。セキュリティはAndroidのパーミッションモデルに類似しているはずです。ただし、新しいアーキテクチャは後から追加されたものではなく、「最小権限」セキュリティモデルを念頭に置いてゼロから構築されているため、より厳格になる可能性があります。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
Google の新しい Fuchsia オペレーティング システムは、32 ビットおよび 64 ビットの ARM デバイス (Raspberry Pi 3 を含む) と AMD64 アーキテクチャをサポートします。
Google はなぜ新しい OS を必要とするのか?
Googleがどのチャットアプリケーションを開発し、宣伝すべきか決めかねているのを見ると、OSに関しても同様の問題を抱えているように見えるかもしれません。Googleは既にChrome OSとAndroidをリリースしており、その派生製品としてBrillo(IoT)、Android Wear(ウェアラブル)、Android Auto(車載ダッシュボード)、Google TVなどが挙げられます。
また、デスクトップ版のChrome OSとAndroidを統合し、Chrome OSの機能を強化してWindows、macOS、Linuxディストリビューションの強力な競合相手にすることを計画しています。では、なぜGoogleは新たなOSを必要とするのでしょうか?
やり直す
Googleが新しいOSの構築を検討している理由は少なくとも3つ考えられます。1つ目は、IoTデバイスからPCまで、あらゆるデバイスで動作できるほどスリムで安全な、包括的なOSを求めている点です。Android(IoT向けに改良されたモバイルOS)とWindows(モバイルとIoT向けに改良されたデスクトップOS)の両方のスリム版と考えてみてください。
Googleは過去10年間でOS構築に関する豊富なノウハウと専門知識を蓄積してきました。そして今、その知識をすべて活用し、過去の失敗やレガシーコードに縛られない新しいOSを開発したいと考えているのかもしれません。これは、現代のOS開発における最新の研究成果の恩恵も受けられる、新たなスタートと言えるでしょう。
プログラミング言語の制御
2つ目の理由は、GoogleがAndroidでJavaプログラミング言語を使用していることによる将来の訴訟(主にOracleからの訴訟)を回避したいと考えている可能性です。訴訟がなくても、GoogleはApple(Objective-CとSwift)やMicrosoft(C#)のような言語開発の自由度を持っていません。これはGoogleにとって、よりコントロール力のある新しい言語を選択する機会となります。
GoogleはすでにGoとDartという2つの独自言語を開発し、オープンソース化しています。GoogleはFuchsiaのメインアプリ開発言語としてDartを選択したようで、最終的にはすべてのAndroid開発者がDartアプリの開発に移行することを望んでいるのかもしれません。
正気の更新モデル
新しいOSを開発する3つ目の理由は、Googleがアップデートシステムをコントロールしたいからかもしれません。AndroidのアップデートモデルはGoogleにとって特に大きな悩みの種でした。メーカーや通信事業者が独自のペースでアップデートをリリースしなければならないため、GoogleがAndroidの脆弱性をどれだけ早く修正したとしても、ほとんど意味をなさないからです。
Chrome OS は、コアコードはオープンソース(Chromium OS)であるにもかかわらず、商標登録された Chrome OS 自体を Google のみが変更できるため、このアップデートの悪夢のようなシナリオを回避しています。これにより、Google はアップデートサイクルも完全に管理でき、Chrome OS が約 6 週間ごとにアップデートされるのはそのためです。
しかし、Google は Chrome OS をスマートフォンや IoT 向けに改良しないことを決定した可能性が高いため、同じように更新でき、より多くの種類のデバイスをカバーする新しい OS を作成することを好む可能性があります。
フクシアは成功できるか?
Googleは常に様々な大規模プロジェクトに取り組んでいるため、この新しいOSを開発するつもりだからといって、必ずしもFuchsiaが成功するとは限りません。成功への道筋は、OSの使い勝手とユーザーにとっての見栄えの良さに大きく左右されるでしょう。しかし、Googleはユーザー、開発者、そしてメーカーをAndroid(そしてChrome OS)から「Fuchsia」(おそらく正式な名称にはならないでしょう)へとスムーズに移行させる方法も見つけなければなりません。
Androidはすでに10億人以上のユーザーに利用されており、メーカーはOSを自由に変更できることに慣れてしまっています。しかし、OSのアップデート費用もメーカーにとって負担となるため、Googleが説得力のある提案をすれば、メーカーは新しいOSへの移行を決意するかもしれません。
ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。