クミコミ

イー・フォース株式会社

お問い合わせフォーム

μITRONとT-Kernelの比較

国内における組込みRTOS用のカーネル仕様は、TRON(トロン:The Real-time Operating system Nucleus)系が6割ものシェアを持ちます
TRON系OSは産業機器は勿論、炊飯器・洗濯機・カメラ・ゲーム機など日本メーカーの家電製品に搭載されたマイコンを制御するための組込み用OSとして、広く普及しています。
TRON系のOSは大きく分けて『μITRON(マイクロアイトロン)』と『T-Kernel(ティーカーネル)』があります。 本記事では、『μITRON』と『T-Kernel』について、共通点や違いを比較することで、それぞれの特徴について理解を深めることを目的とします。.

μITRONとT-Kernelの比較

主な特長を下記表に示します。

μITRON T-Kernel
ソースコード公開時期 1999年 2004年
設計思想 弱い標準化・最適化 強い標準化・移植性
仕様が定められてる範囲 カーネル(RTOSとしての仕様のみ規定) カーネル(T-Kernel)+ハードウェア(T-Engine)+オブジェクトフォーマット
仕様の公開範囲 仕様書はカーネルについてのみ記載 ハードウェアリファレンスの標準化+仕様の公開
ライセンス 提供するOSベンダにより異なる T-License(最新版:T-Lice2.0)
TCP/IPについて OSベンダがオプションとして用意していることが多い
OSベンダ eforce、東芝、Toppers、ミスポ、ユビキタスAI、ルネサスなど eSoL、パーソナルメディア、ユーシーテクノロジー
参考資料

 

μITRONとT-Kernel のあゆみ

μITRONとT-Kernelの歩みを年表で下図に示します。現在のμITRONの最新バージョンは4.03.02、T-Kernelの最新バージョンは2.0、いずれもTRON系OSです。
μITRONは、バージョン1.0の時点では,μ(マイクロ)はついておらず,単にITRON(アイトロン)と呼ばれていました。その後、2.0が公開された際にCPUの大きさごとに二つの仕様へ分かれました。8 bit/16bi CPU向けのμITRON 2.0と,32bit CPU向けのITRON 2.0です。
後年、32bit CPUが低価格化すると組込み機器でも32bit CPUが多用されるようになり,ITRON 3.0では再び一つに統合、1999年に現在使用されている4.0が公開されています。T-Kernelは、21世紀初頭に組込みシステムのハードウェア性能の向上に伴い、μITRONの後継として
大規模システム向けに仕様が策定され、2004年に公開されました。そのため、T-Kernelのカーネル部分は、ITRONからの移植を念頭にいれて設計されているため互換性があります。

共通点

カーネルの仕様自体は長年変わらない

μITRON4.0もT-Kernelもどちらも長い歴史を持ちます。時代と共にRTOSの機能は追加されていますが、後継製品は基本的には品質向上や性能改善に関するものに留まり、カーネルの仕様自体は長年変わりません。
それは、『ソフトウェアの互換性を保証するために仕様が固定されるから』です。OSがバージョンアップしたために、まだ使えるはずのソフトウェアが改変を余儀なくされるようなことはありません。

オープンアーキテクチャ

μITRON4.0とT-Kernelは、いずれもオープンアーキテクチャです。

しかし、ライセンス規則はLinuxが採用している“GNU GPL”などよりも『企業にとって』自由な利用や拡張を重視したライセンスとなっています。
GNU GPLはコピーレフトの特徴を持つライセンスです。例えば、GPL ライセンスのライブラリを使って業務アプリケーションを完成させた場合、その業務アプリケーションは GPL ライセンスとなるので、
配布先であるクライアントに業務アプリケーションのソースコードを公開する義務を負います。一方で、μITRON4.0とT-KernelはOSに自社で拡張を加えたとしても、自社のノウハウが詰まったプログラムコードまで公開する義務はなく、
商用利用も自由なので、企業にとって大きな利点となり日本国内で広く普及する理由の一つとなりました。

異なる点

標準化の範囲

μITRONとT-Kernelでの大きな違いの一つに『標準化の範囲』が挙げられます。標準化とは『モノ』『コト』の秩序化、試験・評価⽅法の統⼀により、製品・サービスの互換性・品質・性能・安全性の確保、利便性を向上することです。μITRONは『弱い標準化』、T-Kernelは『強い標準化』を設計思想に持ちます。

 

μITRONの弱い標準化

μITRONはAPIや変数定義を標準化しています。カーネル(RTOSとしての仕様)のみ規定されてており、ハードは規定していません。共通化すると実行時性能の低下につながる部分については無理に標準化を行わず、実装する機能が絞られています。


※μITRON Ver4.03.03仕様書の「1.3 ITRON仕様の設計方針」から抜粋

向いているシステム

・小規模システム
・ハードウェア資源に制約があるなかで性能を最大限に発揮したいとき

最終製品のコストダウン最適であることが特に重要視される小規模システムでは、マイコン内蔵の小さなROM/RAMのみで動作するよう、RTOSもフットプリントが小さいものが選定の基準となります。
実行時性能を低下させてまで移植性を向上させることはしません。必要性の低い高度な機能を持ったOSをむやみに用いると、プログラムサイズが大きくなってしまうからです

マイコン向け超軽量カーネルを採用したRTOS

μC3(マイクロ・シー・キューブ)/Compactはマイコン内蔵の小さなメモリだけで動作するように最適化されたコンパクトなμITRON4.0仕様のRTOSです。フットプリントは最小2.4Kbyte、低消費電力マイコンとして一般的なCortex-M0にもRTOSを組込むことが可能です。

μC3/Compact

 

強い標準化

T-Kernelは強い標準化を特徴とします。標準化の範囲をカーネルのみならず、ハードウェア(T-Engine)、オブジェクトフォーマットまで拡げています。範囲を広げることで実装依存性を排除し、
プロセッサが異なるハードウェアに対してもソフトウェアの再利用性と移植性を容易とします

T-Kernelで新たに定義された項目

・サブシステムの扱い
・デバイスドライバの扱い
・モニタ仕様(T-Monitor)
・デバッグインターフェース

<向いてるケース> 大規模化したシステムのなかでソフトウェアの生産性を向上したいとき
大規模システムの場合、開発工数が多いため既存のソフトウェアの再利用が不可欠となり、『移植性』は極めて重要視されます。RTOS自体に高度な機能を持たせ、ハードウェアによらずにソースコードレベルで高い移植性を
確保できれば『ソフトウェアの生産性』の向上が期待できます。T-Kernelは移植性をキーワードに、既存の大規模システム向けOSで主流のLinuxに代わる選択肢として開発されたものです。

[例]T-Kernel仕様のRTOSを開発するパーソナルメディア社のPMC T-Kernelでは、ARMなどの一般的な組込み系CPUの他、Intel、AMDといった x86系CPUにも組込むことが可能。

 

T-Kernel仕様のRTOSを提供するベンダーは少ない

表のとおり、T-Kernel仕様準拠のRTOSベンダーはμITRON4.0仕様準拠のRTOSベンダーより少数派で、開発から20年経った現在でもeSoL社とパーソナルメディア社、ユーシーテクノロジー社の3社に留まります。
大きな理由として、開発当初は『Single One Source』の考え方によりソースコードの配布が厳しく制限されていたことがあげられます。標準化の範囲を広げてミドルウェアの流通を図るため、
1つのOSにさまざまなバリエーション/ディストリビューションが存在するよりも、
機能や品質が保証された1つのソースコードが公開されている方が望ましいという方針で開発された経緯で、ソースコードの配布元は原則トロンフォーラムのみとし、入手したソースコードに開発者が改造を加え、組込み機器を完成させるというモデルをとっていました。
特例として「改変版配布者として登録」という手続きをした組織が改変版を出すことは可能ですが
、原則としてオリジナルのソースコードを改変したソースを単体で流通させることはできませんでした。しかし、2011年、T-Kernel 2.0の配布をきっかけに新たに策定された
利用ライセンスT-License 2.0で条件が緩和されました(①オリジナルソースの再配布可能、②改変したソースの配布可能、③改変したソースを配布条件を開発者が指定可能)。

μITORN仕様のRTOSは製品ごとに対応機能に違いがある

μITRON4.0は、商用製品は勿論、半導体ベンダーが内製して社内で使っているものも含め、多種多様な製品があります。配布元のトロンプロジェクトはμITRON4.0をカーネルのみ規定しているため、トロンプロジェクトのぺージ内で実際に動く状態のコードは配布していません
そのため、ハードウェアに依存する部分は実装依存となります。μITRON4.0仕様を元に、実在するCPUで動くサンプルコードと一緒に『μITRON4.0仕様準拠OS』として、企業や団体・個人が配布、販売しています。
各々のRTOS製品は、カーネル部分はITRON仕様通りに作られているため基本的な機能は同じです。
その他の実装依存部は、製品ごとに差別化が図られています。

例えば(µC3/Compactはフットプリントを小さくするため機能を限定してる) 

まとめ

μITRONは商用ライセンスの利点に加え、日本でもシェア率が高いことが利点となる

開発に慣れたエンジニアが多い
サポートによる機能追加の相談がしやすい

本記事ではμITRONとT-Kernelを紹介しました。
μITRONとT-Kernelのどちらを選択するかは、 性能は勿論、『システムの規模』『 既存資産』『今後の移植性 』など様々な要素を考慮する必要があります。
商用RTOSを選択するのであれば、アフターサポートのきめ細やかさなども含めて、総合的に判断し、自身に合った組込みシステムの構築を検討してみてください。

弊社RTOS製品のご紹介


「μC3(マイクロ・シー・キューブ)」
・マイコン向け超軽量カーネルを採用したRTOS μC3(マイクロ・シー・キューブ)/Compact
・ 高性能リアルタイム処理向けRTOS      μC3(マイクロ・シー・キューブ)/Standard

資料請求はこちらから

弊社製品RTOS(リアルタイムOS)やTCP/IPのプロトコルスタックをはじめとしたミドルウェアなどのプロダクトガイドです。詳しい資料をご希望の方は、下記よりダウンロードしてください。

資料ダウンロード(無料)