需要が拡大する自動車制御OSを知る ――機能向上に対応するには開発効率向上が必須
●○● Column ●○●
待ち状態のタスクの起動順序
TOPPERS/OSEKカーネルは,厳密に言うとOSEK-OS仕様と異なる実装が1項目だけあります.それは,OSEK/VDXが規定する仕様に一致させると要求メモリ空間が非常に大きくなり,処理が複雑になって高効率を維持できないと判断した部分です.ユーザ調査などを行った結果,仕様として求められる機能は提供しているので,このような実装で問題ないと判断しました.以下にその詳細を示します.
OSEK-OS仕様では,基本タスクの多重起動時において,起動要求順に起動するように規定しています(図B-1).これに対して,TOPPERS/OSEKカーネルでは,要求順序のFIFO(first in first out)キュー・バッファを用意していないため,多重起動順序が起動要求順に起動されません(起動要求は正しく処理される).
この仕様に対応するには,複数回起動要求されたタスクは複数回キュー・バッファに格納する必要があります.つまり,最大多重起動要求回数分のバッファを用意する必要があるのです.要求リソース増加量を考慮すると自動車制御分野では受け入れがたい仕様であると判断し,TOPPERS/OSEKカーネルではFIFO管理を行わない仕様として実装しました.