はじめに
LitronはiTRONとLinuxの2つのOSが一つのCPUで動くきます。
従来、難しいかった、Linux上でのリアルタイム処理、iTRONでの汎用ネットワーク等の実装を容易に実装することを目的に作成された、ハイブリットOSです。
1,割り込み処理について
ハードレベルの割り込み優先度を継承します。これは、CPUの割り込みコントロールが優先度に対応したマスクが可能であることを活用します。(別な言い方をする、インテルアーキテクチャーのマシンへの対応は切り捨てます。マルチCPU以外のAT互換機で動かす予定はありません。)
従来のリアルタイムコアとの違い
従来のリアルタイムコアはリアルタイム処理を実行中であっても、Linuxのデバイスからの割り込みを受けます、そして、Linuxのデバイスからの割り込みであることを判断してペンディングにします。Litronのはこの様な処理はありません。LiTRONのリアルタイムコア(iTRON)が動いている間はLinuxデバイスの割り込みをハード的に押さえます。
2,Linuxの動作
見かけ上、LinuxはiTRONの一つのタスクとして動くと考えても間違いではないと思いますが、厳密にはiTRONがアイドル状態になった時に、デバイスからの割り込み処理を含むLiunxに実行権が与えられます。
予想される弊害として、ほとんどのリアルタイムLinuxが抱えている問題ですが、一部のドライバーが動かない可能性があります。最近はあまり見かけなくなりましたが、連続した実行権を確保するために、割り込み禁止にしているようなデバイスドライバーです。具体的なデバイスとしては画像、音源関連は予想されますが、これらのデバイスチップは窓OS等で動かす前提で設計されている関係?で、インテリジェント化が進んでいますので、ほとんど問題はないでしょう? また、どうしても一定時間の実行権を必要とする場合はiTRON側での実装とするべきでしょう。
3,iTRONの動作
動作中は一切、Linuxの影響は受けません。
ただしiTRONがアイドル状態で、iTRONデバイスからの割り込み等でレディー状態に移行する場合、通常は即、iTRONに実行権が移りますが、
例外があります。
これはLinuxが割り込み処理以外の例外処理を発行している場合で、具体的にはTLBのミスヒット等の例外処理を実行している場合、待たされます。
その他の注意点として、Linuxの実行権を与えるための、アイドル状態を確保する実 装とする必要があります。
4,起動方法とデバック
Linuxのモジュールとして起動されます。iTERONは通常のデバイスドライバーと同等の環境ですから、ドライバーイメージでデバックを進めることができます。
5,互換性について
LiTRONはiTRON、Linuxの構造については、ほとんど修正を入れていません。 「2,Linuxの動作」でふれた、デバイス以外は、問題なく動作すると思われます。
6,その他
Litronの詳細ドキュメントはありません。アプリケーションの開発等はiTRONおよび、Linuxそのものですから、それらのドキュメントをそのまま使う事ができます。