Fuchsia (オペレーティングシステム)

Fuchsia（フクシア、フクシャ、フューシャ）は、ケーパビリティのコンセプトに基づくGoogleが開発中のオペレーティングシステム (OS) である。公式な告知も一切なく、2016年8月に突如としてGitHubにプロジェクトが公開されたことで最初に世に知られることとなった。

GitHub上のソースコードを精査したメディアによると、Fuchsiaは組み込みシステムからスマートフォン、タブレットやパーソナルコンピュータ (PC) まで幅広いデバイスで稼働させることが可能とみられる。2017年5月の更新ではユーザインタフェースが追加されるとともに、このプロジェクトが「残骸置き場ではない」と開発者が証言したことから、このOSがAndroidを置き換える可能性など、Googleの狙いについてメディアの臆測を呼び起こすこととなった。

Fuchsiaはフリーかつオープンソースのソフトウェアとして公開されており、3条項BSDライセンス、MITライセンス、Apache License 2.0など複数のソフトウェアライセンスを適用している。

 概要 
Fuchsiaはコア部分（カーネル）のZircon（旧称: Magenta）、UIのArmadilloなどから構成されるリアルタイムオペレーティングシステムである。

 カーネル 
これまでGoogleが開発してきたChromeOSやAndroidなどのOSではLinuxカーネルを採用しているが、Fuchsiaは、Zirconと呼ばれる新しいメッセージパッシングのカーネルをベースとしている。Zirconという名前は、鉱物であるジルコン（Zircon）に由来する。プロジェクトのドキュメントの異なる箇所で、Zirconをマイクロカーネルであるとも、マイクロカーネルではないとも説明している。Zirconのコードベースは、リソース消費量を低く抑え、幅広いデバイスで使用されることを目的とした、組み込みデバイス向けのリアルタイムカーネルであるLittle Kernel（LK）から派生している。このLittle Kernelは、Haikuが採用しているNewOSカーネルの共同開発者の1人であるTravis GeiselbrechtBe社員としてBeOSカーネルの開発を担当、その後DangerでHiptop、HPでwebOS、GoogleでAndroidの開発に携わり、現在Fuchsiaのコア部分の開発を担当している。によって開発された。

Zirconは大部分はC++で、一部はアセンブリ言語で書かれている。少数のユーザーサービス、ドライバ、ライブラリを持つカーネルから構成され、それらはすべて、システムのブート、ハードウェアとの通信、ユーザープロセスのロードに必要である。Zirconが現在持っている機能としては、スレッドのハンドリング、仮想メモリ、プロセス間通信、オブジェクトの状態の変化の待機などがある。

Unixカーネルに大きく影響を受けているが、非常に異なる形を持っている。たとえば、Unix系のシグナルはサポートしないが、イベント駆動プログラミングやオブザーバーパターンを組み合わせて使用している。大部分のシステムコールはメインスレッドをブロックしない。リソースは、伝統的なUnixシステムではファイルとして表現されるのに対して、Zirconではオブジェクトとして表現される。

 特徴 
FuchsiaのUIとアプリケーションは、Fuchsia以外にもAndroidとiOSを対象とするクロスプラットフォーム開発が可能な、Flutterと名付けられたソフトウェア開発キット (SDK) によって作成されている。FlutterではDartを用いて、120fpsでの描画が可能な高性能のアプリケーションを作成できる。また、FlutterにはEscherと名付けられたVulkanベースのレンダリングエンジンも含まれ、これによって特に、Ars Technicaによると「陰影が多用される、Googleが規定したUIガイドラインのマテリアルデザインに向けた機能強化版とみられる」要素となる、ボリューメトリック・ソフトシャドウ (Volumetric soft shadows) と呼ばれる視覚効果の描画が支援される。

Flutterはクロスプラットフォーム開発に対応しているため、Fuchsiaの一部パーツをAndroidデバイスにインストールすることも可能である。もっとも、Ars TechnicaによるとFuchsiaのテストはできるものの全く「機能せず」、加えて「何の役にも立たないUIのプレースホルダーの寄せ集め」であり、最近使ったアプリ欄や設定メニュー、画面分割機能などの、FuchsiaのAndroidとの類似点が確認できる程度という状況だった。

その後のArs Technicaによる検証は開発が順調なことを印象付けるものとなっており、何ひとつ機能しないということはなくなっていて、特にハードウェアのサポートが拡充されている。複数マウスポインタ操作に対応したことは予想外の改善点だったと説明されている。

 歴史 
 2016年8月15日Googleは新たなプロジェクトとしてFuchsiaをGitHub上で発表した。このさい公式な告知はなく、ソースコードをメディアが精査してみたところ、このOSが「車載インフォテインメント、信号機やデジタル時計などへの組み込みシステムから、スマートフォン、タブレットやPCまで」を含む幅広いデバイスで稼働できる能力があることを示唆していた。FuchsiaではLinuxカーネルではなくZircon (旧称: Magenta) を採用する点がChrome OSやAndroidとは異なっていた。
 2017年
 5月初期バージョンではコマンドラインシェルのみを備えていたが、新たにArmadilloと名付けられたカード型のグラフィカルユーザインタフェース (GUI) がFuchsiaに追加された。このさいArs Technicaは「これは玩具でもなく、20%ルール就業時間の20%を個人的な関心に基づく研究に割り当ててよいとするGoogleの社内ルール。によるプロジェクトでもなく、誰にも顧みられることのない残骸置き場でもない」と開発者が証言した、との記事も掲載した。多くのメディアによって、このプロジェクトがAndroidと密接に関連しているように見受けられると指摘され、さらにAndroidプラットフォームにおける課題を解決する手段として、FuchsiaがAndroidの「仕切り直し」もしくは置き換えを狙った取り組みなのかも知れない、などと臆測が巡らされた。
 9月それまでMagentaと呼ばれていたOSのコア部分をZirconに改名した。
 11月Swiftプログラミング言語の初期サポートが導入された。
 2018年1月GoogleはFuchsiaをPixelbookで動作させる手順のガイドを発表した。Ars Technicaはこの手順の追試に成功した。
 2019年6月28日（現地時間）GoogleはFuchsia開発者向け公式Webサイトを公開したと報道された。
 2021年
 5月25日（現地時間）初代のGoogle Nest Hubを対象にFuchsiaのロールアウトが開始された。
8月17日（現地時間）初代のGoogle Nest Hubを対象のファームウェアアップデートでFuchsiaが搭載されたと報じられた。

 脚注 

 注釈 

 出典 

 関連項目 

 Flutter
 Haiku
 FreeRTOS
 Redox
 Plan 9

 外部リンク 




Category:Googleのオペレーティングシステム
Category:組み込みオペレーティングシステム
Category:リアルタイムオペレーティングシステム
Category:自由ソフトウェアOS
Category:公開前のソフトウェア
Category:C++でプログラムされた自由ソフトウェア
Category:Cでプログラムされた自由ソフトウェア
Category:Goでプログラムされた自由ソフトウェア
Category:Rustでプログラムされた自由ソフトウェア