米グーグルは2016年8月上旬に突如、「Fuchsia」という新OSのソースコードを同社が運営するGitリポジトリーとGitHubで公開した。Fuchsiaの最大の特徴は、従来のグーグル製モバイルOSとは異なり、Linuxカーネルではない「Magenta」という独自カーネルを採用することである。Fuchsiaの用途や、独自カーネル採用の狙いなどについて考察する。
米グーグルは、2016年8月上旬に「Fuchsia」(フクシャあるいはフクシア、フューシャ。マゼンタと同じ色の別名)という名前の新OSのソースコードを公開した。GitリポジトリーのURLは、https://fuchsia.googlesource.com/である。しかし同社は、2016年9月中旬時点までに新OSについての正式なアナウンスをしていない。公開されたソースコードもまだ最初期段階のもので、現時点で動作するのはコマンドラインシェルといくつかのコマンド、テストアプリ程度である(写真1)。そのため、Fuchsiaのターゲットや新OS開発の狙いなどについては現時点では不明である。
Fuchsiaについては公開当初から、「IoT(Internet of Things)向けの新OSである」とか「AndroidやChrome OSに代わる第3の新モバイルOSではないか」といった様々な憶測が飛び交った。「IoT向け」の根拠は、Fuchsiaが採用する新開発のカーネル「Magenta」が、数十Kバイトの主メモリーしかない機器でも動作する「LK」(LittleKernel)という組み込み機器向けカーネルをベースにすることにあるようだ。
モダンな電話やPCがターゲット
しかし、Magentaの付属ドキュメントには「Magenta targets modern phones and modern personal computers」という記述がある。
また、Fuchsiaのソースコードには、「Pink + Purple == Fuchsia」という記述が添えられている。Pinkは米アップルコンピュータ(当時。現アップル)が1990年代に開発していた次世代OS(後の「Taligent」)の開発コード名を連想させ、PurpleはiPhoneやその前身のiPod Phoneの開発コード名をイメージさせる。実際、Magentaカーネルには、オブジェクト指向かつマイクロカーネル(後述)というTaligentと共通の特徴がある。
こうしたことから、Fuchsiaは主にスマートフォンを対象にした新しいモバイルOSと解釈するのが自然だ。
「脱Linuxカーネル」の理由は
グーグルは現在、AndroidとChrome OSの2つのモバイルOSを提供中である。また、AndroidをベースにしたBrilloというIoT向けOSの提供も開始した。これらに共通するのは、Linuxカーネルを採用すること。
一方Fuchsiaは、Linuxカーネルと全く異なるMagentaカーネルを採用する。既に多数の機器に対応し、様々な機能を備えているLinuxカーネルではなく、わざわざ新しいカーネルを開発して採用したのはなぜか。その理由としては、(1)デバイスドライバーの安全性・安定性の向上、(2)GNU GPLの制約からの脱却、(3)設計の刷新による効率化、などが考えられる。