最新T-Kernelの活用テクニック(1) ―― 小規模システム向けμT-Kernelとは何か
近年,μITRONを拡張する形でT-Kernelが誕生した.T-Kernelは,Single One Sourceによるリファレンス実装の提供や強い標準化,拡張機能の提供などの面で注目されている.本連載では,T-Kernelの最新拡張機能を中心に解説を行う.第1回目の今回は,8ビット~16ビットCPUを視野に入れた小型組み込み機器向けOSであるμT-Kernelを取り上げる. (編集部)
2007年3月28日にμT-Kernelが一般公開されました(図1).μT-Kernelは,T-Kernelと同じITRONの流れを汲むリアルタイムOSです.これは,図2に示すようにT-Kernelの小型版という位置付けになります.
図1 μT-Kernelのダウンロード・ページ
図2 ITRONとT-Kernelの流れ
今回はμT-Kernelが必要となった背景と,T-KernelやμITRONとの違いについて解説します.
1. μT-Kernelとは何か?
● μT-Kernelの元となったT-Kernelとは
μT-KernelはT-Kernelが元となって開発されていますが,そもそもT-KernelとはどのようなOSなのでしょうか.
T-Kernelは,昨今のハードウェアの進化を前提に,高機能化・複雑化・大規模化する組み込み機器に対応したプラットホームとなるべく開発された組み込みシステム向けOSです.T-Kernelとともに,T-Engineというハードウェア・プラットホームも同時に開発されました.開発プラットホームとして利用できるハードウェアとリアルタイムOSを標準化することでデバイス・ドライバやミドルウェアの流通プラットホームとすることを目標としています.
上位プログラムを複数のプラットホームで流通させるためには,基礎となるソフトウェアであるOSの挙動をできる限り一定にしておく必要があります.そこでT-Kernelでは「Single One Source」という方式を採用しました. Single One Sourceとは,文字通りソース・コードを一つにすることです.さらにリファレンスとなるソース・コードを無償公開することで,仕様書だけでは規定しきれない挙動も含めてできる限り挙動を一定にしようとしています.しかも,T-Kernelにはサブセットもありません.これにより,T-KernelではITRONで懸案となっていた移植性の問題を解決しています(図3,図4).
図3 ITRONにおける移植
図4 T-Engineにおける移植性の向上
また,T-Kernelでは上位のソフトウェアはカーネルから分離してT-Kernel/Extensionとして実装します.これにより,リアルタイム性を損なわずに任意の機器に適した構成への拡張が可能となります.
特に,大規模システムにおいて標準的に利用されるプロセス制御やファイル・システムといった機能は,T-Kernel/Standard Extension(以下,T-Kernel/SE.図5)としてT-Engineフォーラムが無償でリファレンス・コードを公開しています.T-Kernel/SEを利用すると,ITRONでは標準化できなかった高レベルのAPI標準化も可能です.T-KernelやT-Kernel/SEを利用したシステムの間であればミドルウェアやアプリケーションを容易に流通できるようになります.
図5 T-Kernel/SEによる高機能OSの実現