IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第59回は、次世代のTRONプロジェクトで開発された「T-Engine」とカーネルの「T-Kernel」「μT-Kernel」、そしてITRONの派生型RTOSを紹介する。
前回は、国産リアルタイムOS(RTOS)として広く採用された「ITRON」の礎となった「TRON」について、2000年ごろまでの状況を前編として紹介した。今回は後編として、次世代のTRONプロジェクトで開発された「T-Engine」とカーネルの「T-Kernel」「μT-Kernel」、そしてITRONの派生型RTOSを取り上げたい。
ちなみに、前回記事の最後で「μITRON4をもって従来のTRONプロジェクトは終了」と書いたが、厳密に言えばμITRON4の流れをくむμITRON 4.0.3.00が2006年にリリースされ、2010年には最終版であるμITRON 4.0.3.03がリリースされている。このμITRON 4.0.3.00にはベーシックプロファイルと呼ばれる新しいプロファイルが追加された。このベーシックプロファイルは、μITRONからT-EngineのカーネルであるT-Kernelへの移行を容易にするための配慮である、と説明されている(図1)。ただし、これはT-Kernelへの移行を前提とした追加であって、基本的には1999年のμITRON 4.0でほぼITRONの開発は完了した格好だ。
さて、トロン協会が核となってITRONの普及に努めてきたわけだが、前回記事の最後でも述べたように、μITRON 2/3のころから「強い標準化」を行ったITRONへの要望が開発者を中心に強まっていた。これに応える形で第1期のTRONプロジェクトは終了し、強い標準化を目指した第2期のプロジェクトが開始される。
これが2002年に立ち上げられたT-Engineフォーラムである。今度はT-Engineという名前で新しくRTOS環境が構築されることになり、このT-Engineに向けてμITRON 4.0のカーネルをベースに開発されたのが、2004年にリリースされたT-Kernelである。もっとも、この説明は現状にはあまり一致していない。
TRONWARE VOL.92の“T-Engineって何?”を読むと、「T-Engineは、T-Kernelが動作するプラットフォームとなるハードウェアです。」と書かれている。要するに、ソフトウェアがT-Kernel、ハードウェアがT-Engineという形になっているようだ。
さて、2004年に最初のT-Engineがリリースされるが、これは32ビットCPUをターゲットとしたものである。T-Engine設計ガイドライン(図2)にもこのことは明記されている。
そもそも強い標準化はミドルウェアの動作を前提にしたものだから、ベアメタル+α程度の軽量RTOSとは比べものにならないほどメモリフットプリントが増えるのは仕方がない。そうなると、8/16ビットCPUでは苦しい場面が多く想定されることになる(図3)。
Copyright © ITmedia, Inc. All Rights Reserved.