検索
連載

RTOS以上組み込みLinux未満、Google第3のOS「Fuchsia」は大輪の花を咲かせるかリアルタイムOS列伝(20)(2/3 ページ)

IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第20回は、Googleの第3のOSと呼ばれる「Fuchsia」を紹介する。RTOSと言うべきかどうかは意見の分かれるところだが、組み込み向けを意識したOSであることだけは確かだ。

Share
Tweet
LINE
Hatena

スクラッチ開発のOSだが詳細は不明

 さて、スライドではスクリーンショットが幾つか公開されている(図3、4)が、こうした画面表示も標準でサポートしているというあたりは、やはり本連載で紹介してきたRTOSとはちょっと毛色が違う。

図3
図3 これは簡単なアプリケーションの動作中のものだろう。右上の“DEBUG”が分かりやすい[クリックで拡大]
図4
図4 左は設定画面、右はWebブラウザだろうか。左の画面がAndroidっぽいのは、やはりGoogleなのでAndroidにおけるGUIの知見がそのまま使われているといったあたりか?[クリックで拡大]

 主な特徴として示されているのがこちら(図5)。ただAndroidやChrome OSのエコシステムを利用できるとしつつも、OS自身はスクラッチから開発されているのが違うところだ。

図5
図5 アプリケーションとしてLinux VMをサポートしているというのがちょっと特徴的[クリックで拡大]

 ただし、そのスクラッチからの開発の詳細が全く明らかにされていないので、正直よく分からない部分ではある。基になるリアルタイムカーネルのMagentaは、Googleの20%ルール(業務の時間の20%を、直接目の前の業務とは無関係な、将来につながるかもしれない取り組みに費やす)から生まれたらしい。その一方でGoogleは、2016年6月にディープラーニングのGoogle Magentaという、このリアルタイムカーネルとは全く関係ないプロジェクトを立ち上げている。

 この名前の重複を嫌ってか、カーネルの方は2017年9月にZirconに名前を変更している。もっとも、変更されたのは名前だけで、中身は全く変わっていないようであるが。そのMagenta/Zirconの特徴は先に図2で説明したようにセキュリティ、信頼性、モジューを実現するための核である。

 そのZirconの特徴はこんな感じ(図6)。MMU(メモリ管理ユニット)がないということはつまりページング(Paging)はサポートしていないという話で、その意味では実記憶ベースのカーネルである。分類としてはマイクロカーネルの一種という扱いである。64ビットオンリーというあたりは昔のMPUや最近のものでもMCUをサポートするのはかなり厳しいところだが、新しいOSということでの割り切りだろうか。以前はC++に一部アセンブラで記述、となっていたがこのあたりはC++で書き直されたのかもしれない。

図6
図6 MMUがない、しかし64ビットオンリーというあたりがもう非常に珍しいというか、なんというか[クリックで拡大]

 コードは10万行弱で、これはOSのカーネルとしてはそう大きくないレベルである。MCUをターゲットにしたRTOSと比べるとかなり大きいかもしれないが、64ビットベースのCPUを使った機器(それこそGoogle Nestなどがこれに当たる)であればメモリも1G〜2GB程度搭載するのは普通だし、そうした機器であれば問題なくFuchsiaが利用できると考えてよいだろう。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る