米グーグルが開発中の新OS「Fuchsia」は、2016年8月のソースコード公開時点では、いくつかのサンプルプログラムを稼働させられる程度にすぎない状態だった。しかし開発はコンスタントに続けられており、2016年10月にGUI(Graphical User Interface)が既定でビルドされるようになった。さらに2017年2月には仮想化機能が追加された。

 AndroidとiOSの進化が一段落したことや、「第3のモバイルOS」の座を巡って競い合っていたWindows 10 MobileやTizen、Firefox OSなどが軒並み失速していることもあり、モバイルOS界に以前のような活気が感じられなくなっている。そうした状況の中、まだ開発初期段階の状態ながら注目を集めているのが、米グーグルが開発中の新モバイルOS「Fuchsia」(https://fuchsia.googlesource.com/)である。

 Fuchsiaの最大の特徴は、Linuxカーネルとは出自も構造も異なる「LK(Little Kernel)」という組み込み機器向けのカーネルをベースに独自開発した「Magenta」というカーネルを採用することにある。

 Magentaを採用した理由としては、(1) デバイスドライバーをユーザー空間で稼働させることやデバイスドライバーAPI/ABIの安定化によるデバイスドライバーの安全性・安定性の向上、(2) ソースコード非公開のデバイスドライバーを利用しづらい利用ライセンス(GNU GPL)からの脱却、(3) 設計の刷新による効率化や現代的なデバイスへの最適化、などが考えられる。

 (1)と(2)はLinuxカーネルの「使いづらさ」としてしばしば挙げられる点である。これらを解消することで、メンテナンスコストの低下や対応デバイス拡充の迅速化などが期待できる。

 (3)に関しては例えば、メニーコアCPU向けの最適化が比較的容易であることが挙げられる。Magentaは、従来のOSでは1つだったカーネルのコンポーネントを分割して、それぞれ独自のメモリー空間を持つ複数のコンポーネントとして稼働させる「マイクロカーネル」方式のカーネルである。一般論で言えば、マイクロカーネルは従来型のカーネル(モノリシックカーネル)よりもマルチコア/メニーコアCPU環境に最適化しやすい。

 単一CPUコアの性能向上が頭打ちとなってきていることから、モバイル端末などでもマルチコアCPUの採用が進んできており、この傾向は今後も続くと思われる。Magentaの採用には、そうした流れに対応しやすくする狙いもあると考えられる。

GUI「Armadillo」の追加

 もっともFuchsiaは2016年8月のソースコード公開時点では、いくつかのサンプルプログラムを稼働させられる程度にすぎない状態だった。グーグルが同OSについての発表を一切行っていないこともあり、グーグルの20%ルール(業務以外の自由な作業を就業時間の20%まで実施していいルール)で作られた個人的なプロジェクトではないかと疑う声もあった。しかし、Magentaの開発リポジトリーのコミット状況(写真1)でも分かる通り、開発は活発かつコンスタントに続けられており、次第にそうした声は聞かれなくなった。Fuchsiaの開発者の一人であるTravis Geiselbrecht氏は、技術系ニュースサイト「Ars Technica」の質問に対して「(Fuchsiaは)玩具でもなければ、20%プロジェクトでもない」と回答している。

写真1●Magentaカーネルの開発状況
写真1●Magentaカーネルの開発状況
gitリポジトリーのコミット数の推移を示した。年末年始に落ち込みはあるが、コンスタントに開発が続いていることが分かる。
[画像のクリックで拡大表示]