IT用語帳

優先度継承プロトコル

Priority Inheritance Protocol

ゆうせんどけいしょうぷろとこる

優先度逆転問題の対策手法。低優先度タスクが共有資源をロック中に高優先度タスクがブロックされた場合、低優先度タスクの優先度を高優先度タスクと同じレベルに一時的に引き上げる。これにより中優先度タスクによるプリエンプションを防止する。
ソフトウェア設計 > タスク間通信と同期・排他制御

関連キーワードの用語

ES優先度上限プロトコル

優先度逆転とデッドロックを防止する同期プロトコル。各共有資源にその資源を使用するタスクの最高優先度(優先度上限)を設定し、資源をロックしたタスクの優先度を即座に優先度上限まで引き上げる。優先度継承より保守的だが安全性が高い。

ESセマフォ

共有資源へのアクセスを制御するための同期機構。カウンティングセマフォ(カウンタで管理)とバイナリセマフォ(0/1で管理)がある。P操作(取得/Wait)とV操作(解放/Signal)で資源の排他制御を行う。

ESミューテックス

相互排他(Mutual Exclusion)のための同期機構。バイナリセマフォと似ているが、所有権の概念を持ち、ロックしたタスクのみがアンロックできる。優先度逆転問題への対策として優先度継承プロトコルをサポートするものが多い。

ES優先度逆転

低優先度タスクが共有資源をロック中に、高優先度タスクがその資源を待つことで、実質的に低優先度タスクが高優先度タスクより先に実行される現象。中優先度タスクによるプリエンプションにより待ち時間が無限に延びる可能性がある(無限優先度逆転)。

ESイベントフラグ

ビットパターンによって複数のイベントの発生を管理するタスク間同期機構。各ビットが異なるイベントに対応し、AND条件(全イベント発生待ち)やOR条件(いずれかのイベント発生待ち)で待ち合わせが可能。RTOSの基本的な同期機能の一つ。

ESデッドロック

複数のタスクが互いに相手の保持する資源の解放を待ち合い、どのタスクも処理を進められなくなる状態。相互排他、保持と待ち、非プリエンプション、循環待ちの4条件が全て揃うと発生する。資源の獲得順序の統一などで予防する。