二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
- 一方のタスクの優先度を高くする。
- 資源獲得の順序を両方のタスクで同じにする。
- 資源獲得の順序を両方のタスクで逆にする。
- 両方のタスクの優先度を同じにする。
解答
イ
解説
デッドロックは、2つ以上のスレッドあるいはプロセスなどの処理単位が互いの処理終了を待ち、結果としてどの処理も先に進めなくなってしまう状態のことです。
- 一方のタスクの優先度を高くする。
一方のタスクの優先度を高くしても、デッドロックを防げません。 - 資源獲得の順序を両方のタスクで同じにする。
正しいです。
資源獲得の順序が同じであれば、処理待ちが発生することはあっても、デッドロックになることはありません。 - 資源獲得の順序を両方のタスクで逆にする。
資源獲得の順序を逆にすると、むしろデッドロックが発生する原因になります。 - 両方のタスクの優先度を同じにする。
両方の優先度を高くしても、デッドロックを防げません。
参考情報
分野・分類
| 分野 | テクノロジ系 |
| 大分類 | コンピュータシステム |
| 中分類 | ソフトウェア |
| 小分類 | オペレーティングシステム |
出題歴
- AP 令和4年度秋期 問16
- AP 平成31年度春期 問18