優先度上限プロトコル
優先度上限プロトコル(ゆうせんどじょうげんプロトコル、Priority Ceiling Protocol)とは、クリティカルセクションの間違った入れ子によって生じる優先順位の逆転によるデッドロックを防ぐための共有資源の同期プロトコルである。このプロトコルでは、各資源には優先度上限が割り当てられており、それはその資源をロックしたタスクの持ちうる最高の優先度である。
優先度上限があるとき、例えば排他を行うプロセスはミューテックスをロックした際に割り当てられた(高い)優先度で動作する。そうするとそのミューテックスを確保できていない他のタスクはその優先度上限より高い優先度を持たないので、ミューテックスをロックしたタスクが邪魔されずにスムーズに動作できるという利点がある。
Immediate Ceiling Priority Protocol (ICPP) の場合、あるタスクが資源をロックすると、優先度は一時的にその資源の優先度上限まで上げられるので、その資源をロックしようとする他のタスクがスケジュールされることがなくなる。これにより低優先度タスクが高優先度タスクに先んじて動作可能となる。