Googleは米国時間12月8日、4年前に存在が明らかになった謎の多い新OS「Fuchsia」のオープンソースプロジェクトを、社外のコントリビュータ―にも解放すると発表した。
提供:Google
それに伴い、このプロジェクトでも、メーリングリストやガバナンスモデル、イシュートラッカーなどのオープンソースプロジェクトで通常用意されるインフラが公開された。
また同社は、Fuchsiaの技術に関するロードマップを公表した。予定されている開発項目には、Zirconカーネルをドライバーとは独立にアップデートすることや、ファイルシステムのパフォーマンスの改善、「Fuchsiaを使用しているワークステーションにおけるユーザー入力イベントのより包括的な処理」などが含まれている。
Googleは、このプロジェクトの目的は安全で、更新可能で、包括的で、実用的なオペレーティングシステムを作ることだと述べた上で、これらのゴールを達成するための原則を説明している。
例えば安全性に関しては、デフォルトではカーネルはプロセスから完全に隔離されており、リソースへのアクセスは名前ではなくハンドルによって明示的に提供すると述べている。Fuchsiaでは、アプリからシステムのサービスまであらゆるものがコンポーネントで構成されているが、ロードマップにはコンポーネントのバージョン2に移行することが目標だと書かれている。コンポーネントは実行に必要なすべてのファイルが含まれているパッケージとして配布される。Fuchsiaはグローバルなファイルシステムを持たず、コンポーネントがローカルな名前空間内で動作するという。
更新可能性の確保に関する原則では、「カーネルが負う責任は最小限にとどめ、その他のほとんどあらゆるものをユーザースペースのコンポーネントに置く。コンポーネントはURLによって識別され、ウェブのようにオンデマンドで名前が解決され、ダウンロードされ、実行される」と説明されている。
また、「コンポーネントは同じメカニズムに従って、すべてが協調して動作する。コンポーネントのパッケージングが密封されていることは、ポータブルなソフトウェアにつながる」という。
また各コンポーネントは、「Fuchsia Interface Definition Language」(FIDL)と呼ばれる言語で緩やかに結合される。
実用性に関する原則では、Fuchsiaはマイクロカーネルのようなコンセプトの多くを適用しているが、ミニマリズム志向ではないとされている。また、移植性を高めるためにPOSIX APIのサブセットをサポートしている。さらに、遅延を減らすために非同期通信に強く依存していると説明している。
しかし、このOSはまだ完成からほど遠い状態にあるようだ。
Googleは、「Fuchsiaにはまだ、一般的な製品開発に使用したり、開発ターゲットにできるだけの準備は整っていないが、Fuchsiaのクローニングや、コンパイルや、Fuchsiaに対するコントリビューションを行うことはできる」「Fuchsiaは一部のx64ベースのハードウェアをサポートしており、Fuchsiaのエミュレーターでテストを行うこともできる」と述べている。
2019年の初めには、GoogleがFuchsiaに「Android」アプリをサポートする可能性があるとされていた。
またFuchsiaは、IoTデバイスからノートPCやデスクトップクラスのハードウェアまで、幅広いデバイスで実行できるものとなるのではないかと予想されている。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。