組込みシステム向けリアルタイムOS T-Kernel拡張版
eT-Kernelは、T-Engine標準のリアルタイムOSであるT-Kernelに、イーソル独自の技術をもとに改良・チューニングをほどこした、組込みシステム向けのリアルタイムOSです。T-Engine開発ボード以外のハードウェアに搭載するソフトウェアに組み込み、「T-Engine Appliance」として製品化することもできます。
特長
オープンソースT-Kernelを改良・チューニング
T-Engineフォーラム配布のT-Kernelソースコードをもとに、イーソルがμITRONで培ったリアルタイムOSのノウハウを注入し、機能、性能の両面において改良・チューニングを行いました。eT-Kernelは、オープンソースのT-Kernelと比べて、下記の特長を持っています。
- システムの起動時間を大幅に短縮
- 高速な割込み応答性を確保
- タスク切り替え/起動/終了を行うサービスコール全般の高速化
- コンフィギュレーションによるメモリフットプリント調整機能
- ハードウェア依存部のレイヤー化、モジュール化による移植性の向上
T-Kernelとの互換性を保持
eT-Kernelは、T-Engineフォーラムが配布するT-Kernelとの完全な互換性を保持しています。イーソルは、T-Engineフォーラムが認定する改変版配布者登録を済ませており、安心してeT-Kernelをお使い頂けます。
4つのプロファイルを用意
システムの規模と用途にあわせて選択できる、小型でリアルタイム性能の高いμITRONに似たモデルから、Linuxと同様にメモリ保護機能とプロセスモデルを持つモデル、POSIX仕様に準拠したモデルまで、4つのプロファイルを用意しています。
| POSIX仕様に準拠したリアルタイムOS | |
| メモリ保護機能とプロセスモデルを持った、大規模システム向けのリアルタイムOS | |
| eT-Kernel/CompactにT-Engine標準のデバイスドライバが付属したリアルタイムOS | |
| μITRONに似た構成を持った、コンパクトでリアルタイム性の高いリアルタイムOS |

4つのプロファイル上でソフトウェア資産の再利用が可能
eT-Kernel/POSIX、eT-Kernel/Extended、eT-Kernel/Standard、eT-Kernel/Compactは、コアとなるカーネルが同じなので、デバイスドライバやミドルウェアなどをカーネルアプリケーションとして、それぞれのプロファイル上で再利用することができます。プロダクトラインを利用して、製品のシリーズによって利用するプロファイルを変えたい場合などに、ソフトウェアを再利用しながら効率的に開発を進めることができます。
4つのプロファイルで共通に使える開発環境、eBinderを用意
T-Kernelベースの組込みソフトウェア開発の開発環境として、eBinderを提供しています。μITRONのPrKERNELv4からeT-Kernel/Compact、eT-Kernel/Standard、eT-Kernel/Extended、eT-Kernel/POSIXまで、すべてeBinderを使って開発できるため、利用するOSやプロファイルを変えるたびに新たな開発ツールの利用方法などを学習する必要なく、効率的に開発を進めることができます。
PrKERNELv4からの移行が容易
eT-KernelとPrKERNELv4のハードウェア依存部が共通化されているため、新たにハードウェア周りのファームウェアなどを実装しなおす必要なく、容易にPrKERNELv4から移行することができます。
ソースコード提供
eT-Kernelの4つのプロファイルは、それぞれソースコードで提供されます。
充実したドキュメントを提供
ユーザーズガイド、ボードサポートガイド、Getting Startedなど、充実したドキュメントを提供しています。
保守サービス・カスタマイズサービス
eT-Kernelは、下記内容の保守サービスを提供しています。保守サービスを受けることにより、安心してeT-Kernelを使った開発に取り組むことができます。
- メールでの製品に関するお問合せに対する回答
- マイナーバージョンアップ品の提供
また、独自ハードウェアなど、異なる環境にeT-Kernelを対応させるカスタマイズサービスを提供しています。
T-Engineのソフトウェアアーキテクチャは、レイヤ式のスケーラブルなアーキテクチャで、開発するシステムに合わせて柔軟な構成をとることができます。その中で核となるのがT-Kernelです。また、T-Kernelだけでなく、T-Engineの目的であるソフトウェアの再利用を促進するためのさまざまな仕組みを持っています。ここでは、アーキテクチャを構成するそれぞれのプログラムの特長を簡単にご紹介します。

T-Kernel
T-Kernelは、T-Kernel/Operating System (T-Kernel/OS) 、T-Kernel/System Manager (T-Kernel/SM) 、T-Kernel/Debugger Support (T-Kernel/DS) で構成されています。それぞれの機能を以下に表で示します。このなかでT-Kernel/OSは、μITRONなど標準的なリアルタイムOSにあるすべてのタスク管理機能、メモリ管理機能、システム制御機能を備えるT-Kernelの主要なパーツです。T-Kernel/OSのみを指して狭義のT-Kernelと呼ぶこともあります。
| T-Kernel/OS (Operating System) |
T-Kernel/SM (System Manager) |
T-Kernel/DS (Debugger Support) |
|
|
|
デバイスドライバ
T-Engineでは、ドライバのインタフェースとドライバを規定したデバイスドライバ仕様も含まれています。標準的なT-Engineボードに搭載されたペリフェラルすべてのデバイスドライバに適用されます。ドライバインタフェースの標準化により、ミドルウェアやライブラリを含むアプリケーションなど、ドライバを利用するプログラムを新しいハードウェア環境に移行する場合に、インタフェース部分を変更することなくそのまま再利用することができます。
サブシステム
サブシステムとは、T-Engineで規定されたインタフェースを持つ共有ライブラリで、T-Kernelを拡張するために使われる仕組みです。サブシステムは、図で示されるように、T-Kernelの上で動作し、T-Kernel内ではT-Kernel/OSがサブシステムの管理機能を提供しています。T-Kernelと静的にリンクすることも、動的にロードすることもできます。例として、ファイルシステムやTCP/IPプロトコルスタックなどのミドルウェアをサブシステムとして実装することができます。ユーザが作成した独自のライブラリなどもサブシステム化することができます。ミドルウェアやユーザ作成のライブラリをサブシステムとして実装することにより、上位アプリケーションに共通のインタフェースを提供できます。また、レイヤ方式のT-Engineソフトウェア・アーキテクチャの構造により、サブシステムはCPUやボードに依存しないため、ハードウェアを変えてもサブシステムは修正の必要なく再コンパイルするだけですぐに動作します。

