平成18年春期試験問題 午前問26

二つのタスクが共有する二つの資源を排他的に使用するとき,デッドロックが発生する可能性がある。このデッドロックの発生を防ぐ方法はどれか。

  • 一方のタスクの優先度を高くする。
  • 資源獲得の順序を両方のタスクで同じにする。
  • 資源獲得の順序を両方のタスクで逆にする。
  • 両方のタスクの優先度を同じにする。
正解 問題へ
分野:テクノロジ系
中分類:ソフトウェア
小分類:オペレーティングシステム
解説
デッドロックは、共有資源を使用する2つ以上のプロセスが、互いに相手プロセスが必要とする資源を排他的に使用していて、互いのプロセスが相手の使用している資源の解放を待っている状態です。デッドロックが発生すると双方のプロセスが永遠に待ち状態になってしまい、処理の続行ができなくなってしまいます。
26.png
  • 一方のタスクの優先度を高くしても、それによって他方のタスクが使用している資源が解放されるわけではないので、デッドロックの発生を防ぐことはできません。
  • 正しい。デッドロックの発生を防ぐには共有資源の使用順序を同じにします。例えば、タスクAがX→Y→Zという順で資源の獲得をするなら、タスクBも同じくX→Y→Zで資源を獲得するようにします。
  • デッドロックは資源獲得の順序が異なるときに発生するので、資源獲得の順序を逆にするとデッドロックが発生しやすくなります。
  • デッドロックの発生は、優先度の高低とは無関係です。

この問題の出題歴


Pagetop