優先度逆転
今日、プロミネント・ネットワークの松井さんとお話ししていて、初めて優先度逆転の事を知りました。
マルチタスクのスケジューリングの世界では常識のようですが、私は今日初めて「優先度逆転」の事を知りました。 優先度逆転とは、優先度の低い処理が優先度の高い処理よりも実行権を奪ってしまう事です。
実際に、NASAの火星探査機マーズ・パスファインダー号で起こってしまったのですね。http://www.unixuser.org/~euske/doc/risks-ja/mars.html
もしユーザーレベルで「優先度逆転」を考慮してプログラミングしなければならないケースがあるとすると、マルチタスクのプログラミングはとても注意深く設計しなければならない。
優先度逆転に関する記述のあるURLを幾つか
http://homepage3.nifty.com/ryuz/oo/chapt06.html
http://www.h6.dion.ne.jp/~junpei/process.html
プロミネント・ネットワーク
http://members.jcom.home.ne.jp/1355/index.htm