科目A-1(多肢選択式・四肢択一、30問)
あるリアルタイムシステムで、高優先度タスクHが共有資源のロックを待っている間に、低優先度タスクLがそのロックを保持したまま中優先度タスクMに実行権を奪われ続け、Hの処理が長時間実行できない現象が発生した。この現象への対策として最も適切なものはどれか。
- ✓共有資源のロックに優先度継承プロトコルを適用し、Lがロックを保持している間はLの優先度をHと同等まで一時的に引き上げる。
- BタスクMの優先度をさらに引き上げる。
- C共有資源へのアクセスにセマフォではなくポーリングを用いる。
- DタスクLの実行周期を短くする。
解説
この現象は優先度逆転(プライオリティインバージョン)であり、優先度継承プロトコルによってロック保持中の低優先度タスクの優先度を一時的に引き上げることで、中優先度タスクによる割り込みを防ぎ逆転時間を制限できる。
根拠組込み向けOSとリアルタイム性:優先度逆転、優先度継承