最新T-Kernelの活用テクニック(1) ―― 小規模システム向けμT-Kernelとは何か
3. μT-KernelとμITRON
ところで,μT-KernelとμITRONの違いはどこにあるのでしょうか? 小規模システムに対応したリアルタイムOSということであればμITRONでよいのではないかという声もあります.確かに機能だけ見ればμITRON仕様でも使えないことはありません(表1を参照).
ですが,忘れてはならないのはμT-Kernelが登場した背景です.「小規模システムに対応したT-Kernelが必要」という声に応えてμT-Kernelが登場したという点が重要です.つまり,小型であると同時にT-Kernelとの互換性が高くなければ意味がありません.μT-KernelとμITRONの境界はここにあります.
μT-KernelとμITRONの主な違いをまとめると,次のようになります.
・インターフェースがT-Kernel仕様で統一されている
-システム・コールの名称はT-Kernelに合わせる
-型やエラー・コードはT-Kernelに合わせる
-タイムアウトは引き数で使い分ける
-オブジェクトIDを動的に割り当てる
・強い標準化
-μT-Kernelではサブセットを認めない (必ずすべてのSVCの実装が必要)
-リファレンス・コードは無償で公開
T-Kernelの小型版という意味では,やはりT-Engineフォーラムがリファレンス・コードを無償で配布するのが自然でしょう.T-EngineフォーラムではスタンダードとしてのT-Kernel,小規模システム用の小型版としてのμT-Kernelを既に公開していますが,加えて現在は高機能版のMP T-Kernelを開発中です(図11).
図11 シリーズ化されたT-Kernel
これらのT-Kernelシリーズは相互に高い互換性があるように設計されているので,より広い範囲でのミドルウェアやアプリケーションの流通を期待できます.
なお,昨年(2006年)末に改定されたμITRON 4.03仕様にはベーシック・プロファイルが追加されています.
ベーシックプロファイルは,μITRON3.0/μITRON4.0/T-Kernelにおいて同等の機能を持つサービスコールを規定したもので,アプリケーションの移植をより簡単にすることを目的としたプロファイルである.(μITRON4.03仕様,「5.2 ベーシックプロファイル」より抜粋)
このことから,T-KernelシリーズとμITRONの間で移植を行う場合,ベーシック・プロファイルを参照すると相違点の確認が容易になります.
● T-KernelとITRONの選択基準
「T-KernelとITRONのどちらを選べばよいのか?」と聞かれることがあります.双方を比較した場合,一概にどちらが良いとはいえないのではないでしょうか
搭載されたCPUに対応したT-KernelやμITRONがあるかどうかも重要ですし,機能や性能だけでなく,価格やサポート,ライセンスについても考慮する必要があります.
これまでμITRONで開発してきた実績があった場合,開発効率を考えるとμITRONを継続して利用するメリットが大きいのは事実です.開発期間が短い場合はこの点は特に重要な項目でしょう.しかし,もし新規に開発するのであれば今後の拡張性を考慮するとT-Kernelという選択肢が浮上してきます.特にその機器をほかに展開する予定があるとか,高機能版や小型版の開発なども視野に入っているのであれば,T-Kernelが非常に魅力的な選択肢になると思います.
おわりに
μT-Kernelは単なるリアルタイムOSの一つではありません.T-KernelやMP T-Kernelにつながるより大きなシリーズの一翼を担うOSです.μT-Kernel用のプログラムは,開発プラットホームであるT-Kernelでの開発が可能ですし,μT-Kernelを搭載した機器をT-KernelやMP T-Kernelを搭載した高級機にアップグレードすることも比較的容易に行えるように設計されています.これらはすべてソフトウェアの再利用性向上によって実現します.
次回はμT-Kernelを利用したシステムを開発する手順や機種依存部の移植,カーネルのビルドについて説明します.
ゆら・しゅうじ
T-Engineフォーラム