μT-Kernel 3.0の設計方針

μT-Kernel 3.0は、IoTエッジノードの制御用に設計された、省資源の組込み制御用リアルタイムOSの標準仕様である。OSの機能やAPIの仕様の標準化によってソフトウェアの流通性や開発効率を高めつつ、16ビットを含むローエンドのシングルチップマイコン(MCU)やMMU(Memory Management Unit)を持たないマイコン、ROM/RAMの少ない小規模な組込みシステムでも高い性能を発揮できるように設計されている。また、デバイスドライバ管理機能、省電力機能などを備えており、IoTのネットワーク構築に必要となる多様な通信方法、多様なデバイスを組み込んだ省電力対応のシステムを構築できる。

μT-Kernel 3.0はリアルタイムOSの標準仕様であり、CPUのアーキテクチャに左右されることなく、いろいろなCPUに実装することが可能である。しかし、ごく小規模なIoTエッジノードなどを想定したハードウェアリソースの厳しいシステムでは、CPUやハードウェア構成に合わせて最大限の性能が発揮できるように、OSの実装を適応化した方がよい場合や、OSの提供する機能をある程度制限した方がよい場合もある。そこでμT-Kernel 3.0では、OSの実装を適応化する余地を残しながらも、ソフトウェアの互換性や移植性を維持するために、「サービスプロファイル」という仕様記述方法を導入している。「サービスプロファイル」の利用により、実装に依存した機能の有無や差異を形式的に記述することができ、OS上で動作するミドルウェアやアプリケーションにおいて、実装依存機能の差異を吸収することが可能となる。

μT-Kernel 3.0の仕様には、データタイプなどの共通規定、プログラムの並行実行の単位である「タスク」の状態遷移やスケジューリング方法、割込みハンドラなどの「非タスク部」の動作、OSの提供するAPIなどの仕様が含まれる。ファイル管理やネットワーク通信、プロセス管理などの機能はμT-Kernel 3.0には含まれていないが、ミドルウェアの追加により、これらの機能を備えた比較的大規模なシステムまでスケーラブルに対応できる。すなわち、μT-Kernel 3.0は、ファイル管理やネットワーク通信、プロセス管理などの機能を持った大規模なシステムのマイクロカーネルとして使用することができる。また、マルチコア・プロセッサに対応したシステムへの拡張も可能である。