さて、スライドではスクリーンショットが幾つか公開されている(図3、4)が、こうした画面表示も標準でサポートしているというあたりは、やはり本連載で紹介してきたRTOSとはちょっと毛色が違う。
主な特徴として示されているのがこちら(図5)。ただAndroidやChrome OSのエコシステムを利用できるとしつつも、OS自身はスクラッチから開発されているのが違うところだ。
ただし、そのスクラッチからの開発の詳細が全く明らかにされていないので、正直よく分からない部分ではある。基になるリアルタイムカーネルの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++で書き直されたのかもしれない。
コードは10万行弱で、これはOSのカーネルとしてはそう大きくないレベルである。MCUをターゲットにしたRTOSと比べるとかなり大きいかもしれないが、64ビットベースのCPUを使った機器(それこそGoogle Nestなどがこれに当たる)であればメモリも1G〜2GB程度搭載するのは普通だし、そうした機器であれば問題なくFuchsiaが利用できると考えてよいだろう。
Copyright © ITmedia, Inc. All Rights Reserved.