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

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をマイクロカーネルであるとも、マイクロカーネルではないとも説明している。Zirconのコードベースは、リソース消費量を低く抑え、幅広いデバイスで使用されることを目的とした、組み込みデバイス向けのリアルタイムカーネルであるLittle Kernel（LK）から派生している。このLittle Kernelは、Haikuが採用しているNewOSカーネルの共同開発者の1人であるTravis Geiselbrechtによって開発された。 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年08月15日 – Googleは新たなプロジェクトとしてFuchsiaをGitHub上で発表した。このさい公式な告知はなく、ソースコードをメディアが精査してみたところ、このOSが「車載インフォテインメント、信号機やデジタル時計などへの組み込みシステムから、スマートフォン、タブレットやPCまで」を含む幅広いデバイスで稼働できる能力があることを示唆していた。FuchsiaではLinuxカーネルではなくZircon (旧称: Magenta) を採用する点がChrome OSやAndroidとは異なっていた。 2017年 05月 – 初期バージョンではコマンドラインシェルのみを備えていたが、新たにArmadilloと名付けられたカード型のグラフィカルユーザインタフェース (GUI) がFuchsiaに追加された。このさいArs Technicaは「これは玩具でもなく、20%ルールによるプロジェクトでもなく、誰にも顧みられることのない残骸置き場でもない」と開発者が証言した、との記事も掲載した。多くのメディアによって、このプロジェクトがAndroidと密接に関連しているように見受けられると指摘され、さらにAndroidプラットフォームにおける課題を解決する手段として、FuchsiaがAndroidの「仕切り直し」もしくは置き換えを狙った取り組みなのかも知れない、などと臆測が巡らされた。 09月 – それまでMagentaと呼ばれていたOSのコア部分をZirconに改名した。 11月 – Swiftプログラミング言語の初期サポートが導入された。 2018年01月 – GoogleはFuchsiaをPixelbookで動作させる手順のガイドを発表した。Ars Technicaはこの手順の追試に成功した。 2019年06月28日（現地時間） – GoogleはFuchsia開発者向け公式Webサイトを公開したと報道された。 2021年 05月25日（現地時間） – 初代のGoogle Nest Hubを対象にFuchsiaのロールアウトが開始された。 08月17日（現地時間） – 初代のGoogle Nest Hubを対象のファームウェアアップデートでFuchsiaが搭載されたと報じられた。 [脚注の使い方] ^ 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日閲覧。 ポータル FLOSS Flutter Haiku FreeRTOS Redox Plan 9 公式ウェブサイト fuchsia Git repositories Fuchsia - GitHub 表示 編集 表示 編集