Fuchsiaに関する報道から
複数のメディアが、Googleが「Fuchsia」と言う名の新たな基本ソフト(OS)を開発していると報道しています。Googleが公式に発表したわけではなく、「GitHub」で、Gitリポジトリに「Git repositories on fuchsia」が登録されたことによるようです。詳細は分からないようですが、「GitHub」に「Pink + Purple == Fuchsia (a new Operating System)」とあることから、IoT向けのOSとみられています。
Fuchsiaの特徴
各メディアの報道を総合すると、その特徴の一つ目は、AndroidやChrome OSは、Linuxカーネル(※1)を利用したLinux OSの派生系ですが、「Fuchsia」では、Linuxカーネルに代わって「LittleKernel」と呼ばれる組み込み向けのカーネルを拡張した「Magenta」を採用していることがあげられます。Magentaは、組み込みシステムだけでなく、スマートフォンやパソコンなどへも搭載できるよう設計されているとのことで、Fuchsiaはパソコンやスマホにも搭載できるようです。既存のFreeRTOS(※2)やThreadX(※3)などの組み込み用OSに代わる新しい業界標準となることを目指したものとの報道がなされています。
また、Android Policeの記事には
For this to happen, Magenta improves upon its LittleKernel base by adding first class user-mode support (a necessity for user accounts) and a capability-based security model (which would enable something like Android 6.0’s permissions to work).
(http://www.androidpolice.com/2016/08/12/google-developing-new-fuchsia-os-also-likes-making-new-words/ より)
とあり、Magentaはファースト・クラス・ユーザー・モード(first class user-mode)をサポートし、「Android 6.0」のパーミッションの仕組みに似た権限ベースのセキュリティモデルを採用することで、スマートフォンやPCにも対応可能としているとのことです。さらに、
It looks like Google is using Flutter for the user interface, as well as Dart as the primary programming language.
The icing on the cake is Escher, a renderer that supports light diffusion, soft shadows, and other visual effects, with OpenGL or Vulkan under the hood.
We know it has support for both 32-bit and 64-bit ARM CPUs, as well as 64-bit PCs.
(http://www.androidpolice.com/2016/08/12/google-developing-new-fuchsia-os-also-likes-making-new-words/ より)
とあり、主なプログラミング言語に「Dart」(※4)、ユーザーインタフェースにはTwitterとよく似た「Flutter」(Flutterの開発言語はDart)、グラフィックAPIにはOpenGLの後継となる「Vulkan」、レンダリング用に「Escher」を採用するようです。
また、32ビットと64ビットのARMのCPUと、64ビットPCをサポートするようです。
GoogleはFuchsiaについて「AndroidでもChrome OSでもないまったく新しいOS」としか公式には説明していないようで、そのため様々な憶測が飛び交っているようです。AR(Argumented Reality)のための環境であるとか、Android PoliceなどはAndroidでもChrome OSに取って代わる可能性や「OnHub」ルータや「Google Home」のようなGoogleの組み込みシステム製品の1つに搭載される可能性などを指摘しています。
(※1)カーネル(kernel)は「核」という意味で、文字通りOSの一番重要な部分を指します。アプリケーションとハードウェアレベルでの実際のデータ処理との間の橋渡しする役目を担っています。
(http://www.slideshare.net/akagisho/unix2-29487937 より)
(※2)FreeRTOS
FreeRTOS は組み込みシステム用のオープンソースのリアルタイムオペレーティングシステム (RTOS) で、英国のReal Time Engineersが提供しています。コンパクトでシンプルに設計されていて、カーネルは3つあるいは4つのC言語でのファイルだけで構成されています。ただし、アーキテクチャ独自のスケジューラルーチンを中心として、必要な部分にはアセンブリ言語が使われています。
(http://www.freertos.org/ より)
(※3)ThreadX
ThreadXは、米国Express Logic社が組み込み用に設計開発した高速かつコンパクトなリアルタイムOS(RTOS)です。
(http://rtos.com/products/threadx/ より)
(※4)Dart
Dartはグーグルによって開発されたウェブ向けのプログラミング言語です。