令和4年度 秋期 応用情報技術者試験 午前 問16
テクノロジ/ソフトウェア二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
出典:令和4年度 秋期 応用情報技術者試験 午前 問16
- ア一方のタスクの優先度を高くする。
- イ資源獲得の順序を両方のタスクで同じにする。
- ウ資源獲得の順序を両方のタスクで逆にする。
- エ両方のタスクの優先度を同じにする。
正解:イ
解説
デッドロックは,2つのタスクが互いに相手が確保した資源の解放を待ち合うことで発生します。両方のタスクが資源を同じ順序で獲得するようにすれば,循環した待ち(相互待ち)が起こらず,デッドロックを防止できます。
選択肢ごとの解説
- ア誤り。優先度を高くしても資源の獲得順序は変わらず,相互待ちは防げません。
- イ正しい。資源獲得の順序を両タスクで同一にすれば,互いに相手の資源を待ち合う循環が発生しません。
- ウ誤り。獲得順序を逆にすると,互いに相手が確保した資源を待ち合う状況が起こりやすくなり,かえってデッドロックが発生しやすくなります。
- エ誤り。優先度を同じにしてもデッドロックの発生条件(資源の相互待ち)は解消されません。