Fuchsia (フクシア、フクシャ、フューシャ)は、ケーパビリティ のコンセプトに基づくGoogle が開発中のオペレーティングシステム (OS) である。公式な告知も一切なく、2016年 8月に突如としてGitHub にプロジェクト が公開されたことで最初に世に知られることとなった。
GitHub上のソースコード を精査したメディアによると、Fuchsiaは組み込みシステム からスマートフォン 、タブレット やパーソナルコンピュータ (PC) まで幅広いデバイス で稼働させることが可能とみられる。2017年 5月の更新ではユーザインタフェース (UI) が追加されるとともに、このプロジェクトが「残骸置き場ではない」と開発者が証言したことから、この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をマイクロカーネル であるとも、マイクロカーネルではないとも説明している[ 2] [ 3] 。Zirconのコードベースは、リソース消費量を低く抑え、幅広いデバイスで使用されることを目的とした、組み込みデバイス 向けのリアルタイムカーネルであるLittle Kernel(LK)から派生している[ 4] 。このLittle Kernelは、Haiku が採用しているNewOS カーネル[ 5] の共同開発者の1人であるTravis Geiselbrecht[ 注釈 1] によって開発された。
Zirconは大部分はC++ で、一部はアセンブリ言語 で書かれている。少数のユーザーサービス、ドライバ 、ライブラリ を持つカーネルから構成され、それらはすべて、システムのブート 、ハードウェア との通信、ユーザープロセス のロードに必要である[ 6] 。Zirconが現在持っている機能としては、スレッド のハンドリング、仮想メモリ 、プロセス間通信 、オブジェクトの状態の変化の待機などがある[ 7] 。
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との類似点が確認できる程度という状況だった[ 8] 。
その後のArs Technica による検証は開発が順調なことを印象付けるものとなっており、何ひとつ機能しないということはなくなっていて、特にハードウェアのサポートが拡充されている。複数マウスポインタ 操作に対応したことは予想外の改善点だったと説明されている[ 9] 。
歴史
2016年 0 8月15日 – Googleは新たなプロジェクトとしてFuchsiaをGitHub 上で発表した[ 10] 。このさい公式な告知はなく、ソースコードをメディアが精査してみたところ、このOSが「車載インフォテインメント、信号機 やデジタル時計 などへの組み込みシステムから、スマートフォン、タブレットやPCまで」を含む幅広いデバイスで稼働できる能力があることを示唆していた。FuchsiaではLinuxカーネルではなくZircon (旧称: Magenta)[ 11] を採用する点がChrome OSやAndroidとは異なっていた[ 12] [ 13] 。
2017年
0 5月 – 初期バージョンではコマンドラインシェル のみを備えていたが、新たにArmadilloと名付けられたカード型のグラフィカルユーザインタフェース (GUI) がFuchsiaに追加された[ 8] 。このさいArs Technica は「これは玩具でもなく、20%ルール[ 注釈 2] によるプロジェクトでもなく、誰にも顧みられることのない残骸置き場でもない」と開発者が証言した、との記事も掲載した。多くのメディアによって、このプロジェクトがAndroidと密接に関連しているように見受けられると指摘され、さらにAndroidプラットフォームにおける課題を解決する手段として[ 8] 、FuchsiaがAndroidの「仕切り直し」[ 14] もしくは置き換え[ 15] [ 16] [ 17] を狙った取り組みなのかも知れない、などと臆測が巡らされた。
0 9月 – それまでMagentaと呼ばれていたOSのコア部分をZirconに改名した[ 1] 。
11月 – Swiftプログラミング言語 の初期サポートが導入された[ 18] 。
2018年 0 1月 – GoogleはFuchsiaをPixelbookで動作させる手順のガイドを発表した[ 19] [ 20] 。Ars Technica はこの手順の追試に成功した[ 9] 。
2019年 0 6月28日 (現地時間) – GoogleはFuchsia開発者向け公式Webサイトを公開したと報道された。
2021年
脚注
注釈
^ Be 社員としてBeOS カーネルの開発を担当、その後Danger でHiptop 、HP でwebOS 、GoogleでAndroidの開発に携わり、現在Fuchsiaのコア部分の開発を担当している。
^ 就業時間の20%を個人的な関心に基づく研究に割り当ててよいとするGoogleの社内ルール。
出典
^ a b “Google,IoT向けOS「Fuchsia OS」のコアを「Zircon」にリネーム” . gihyo.jp . (2017年9月14日). https://gihyo.jp/admin/clip/01/linux_dt/201709/14 2018年5月5日 閲覧。
^ “Zircon ” (英語). Fuchsia . 9 December 2020 閲覧。 “"Zircon is composed of a microkernel (source in /zircon/kernel)"”
^ “Pragmatic ” (英語). Fuchsia . 9 December 2020 閲覧。 “"Zircon is a pragmatic, message-passing kernel—not a microkernel"”
^ Sims, Gary (August 17, 2016). “What we learned from running Fuchsia, the mysterious new OS from Google ”. Android Authority . May 9, 2017 閲覧。
^ “Travis Geiselbrecht (Projects section) ” (October 24, 2016). Nov 21, 2017 閲覧。
^ “An Early Look at Zircon, Google Fuchsia New Microkernel” . (April 15, 2018). https://www.infoq.com/news/2018/04/google-fuchsia-zircon-early-look May 20, 2018 閲覧 . "Written in C++, Zircon is composed of a microkernel plus a set of userspace services, drivers, and libraries that are required to handle system boot, process launch, and other typical kernel tasks. Zircon syscalls are generally non-blocking, with the exception of wait_one, wait_many, port_wait and sleep."
^ “Overview ” (英語). Fuchsia . 2020年6月18日 閲覧。
^ a b c Amadeo, Ron (May 8, 2017). “Google’s “Fuchsia” smartphone OS dumps Linux, has a wild new UI ”. Ars Technica . Condé Nast . May 9, 2017 閲覧。
^ a b Amadeo, Ron (8 January 2018). “Google’s Fuchsia OS on the Pixelbook: It works! It actually works! ”. Ars Technica . Condé Nast . 22 January 2018 閲覧。 “Right now, Google's built-from-scratch kernel and operating system will actually boot on the Pixelbook, and some things even work. The touchscreen, trackpad, and keyboard work and so do the USB ports. You can even plug in a mouse and get a second mouse cursor.”
^ “Google,ナゾの新OSプロジェクト「Fuchsia」をローンチ” . gihyo.jp . (2016年8月17日). https://gihyo.jp/admin/clip/01/linux_dt/201608/17 2018年5月5日 閲覧。
^ “[zx] Magenta -> Zircon ”. zircon - Git at Google (12 September 2017). 19 September 2017 閲覧。
^ Etherington, Darrell (August 15, 2016). “Google’s mysterious new Fuchsia operating system could run on almost anything ”. TechCrunch . AOL . October 5, 2016 閲覧。
^ Fingas, Jon (August 13, 2016). “Google's Fuchsia operating system runs on virtually anything ”. Engadget . AOL . October 5, 2016 閲覧。
^ Fingas, Jon (May 8, 2017). “Google's mysterious Fuchsia OS looks like an Android re-do ”. Engadget . AOL . May 9, 2017 閲覧。
^ Gartenberg, Chaim (May 8, 2017). “Google’s mysterious new Fuchsia OS has a UI now ”. The Verge . Vox Media . May 9, 2017 閲覧。
^ Davenport, Corbin (May 8, 2017). “Google's "Fuchsia" operating system is taking shape with a new design ”. Android Police . May 9, 2017 閲覧。
^ “First Look at all new Fuchsia OS from Google ”. IB Computing . IB Computing (January 18, 2018). January 18, 2018 閲覧。
^ “Add Fuchsia OS support by zbowling · Pull Request #12955 · apple/swift · GitHub ” (英語). GitHub (2017年11月15日). 2021年5月27日 閲覧。
^ “Yes, Google Is Running Fuchsia On The Pixelbook: Calm Down” (英語). Chrome Unboxed - The Latest Chrome OS News . (2018年1月1日). https://chromeunboxed.com/news/fuchsia-pixelbook-install-google-developer 2018年1月3日 閲覧。
^ Contribute to docs development by creating an account on GitHub , Fuchsia, (2018-01-03), https://github.com/fuchsia-mirror/docs 2018年1月3日 閲覧。
^ Bradshaw, Kyle (2021年5月25日). “Google is releasing Fuchsia OS, starting w/ 1st-gen Nest Hub ” (英語). 9to5Google . 2021年5月26日 閲覧。
^ “Googleの“第三のOS”「Fuchsia」、初代「Nest Hub」へ ”. ITmedia NEWS . 2021年5月26日 閲覧。
関連項目
外部リンク