不確定特異点

広く深く、ところどころ超深く

優先度逆転とかコンフィギュレータとか

優先度逆転

セマフォ等の同期オブジェクトを使った場合に、優先度の高いタスクがそれよりも優先度の低いタスクに実行権を奪われて、本来の優先度が逆転してしまうという、同期機構による優先度逆転現象には古典的な回避アルゴリズムがあり、RTOS を作るからには知っておかなきゃ、というわけで、基本文献に当たってます。もう少し時間がかかりそうなので、まとめは後日に。

  • Lui Sha, Ragunathan Rajkumar, and John P. Lehoczky, "Priority Inheritance Protocols: An Approach to Real-Time Synchronization," IEEE Trans. Computers., Sep. 1990

コンフィギュレータ

現状、タスクや同期オブジェクトはソースコード中に直接ハードコーディングしちゃってるのですが、RTOS では基本的に、オブジェクトを静的に生成するため、設定ファイルに記述しておき、それをソースコードに変換する方法がとられるようです。設定ファイルのフォーマットは書きやすくて、ソースコードに変換するコンフィギュレータが簡単に作れそうなものがいいなぁ、と考えていて、YAML の仕様を見てみたのですが、見た目によらず重そうで、ソッ閉じしました。軟弱なのでできればライブラリに頼りたいのですが、Common Lisp でいいライブラリないかな。