情報処理安全確保支援士令和4年秋期 午前T 問6

午前T 問6

二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
  • 一方のタスクの優先度を高くする。
  • 資源獲得の順序を両方のタスクで同じにする。
  • 資源獲得の順序を両方のタスクで逆にする。
  • 両方のタスクの優先度を同じにする。
  • [出典]
  • 応用情報技術者
    令和4年秋期 問16と同題

分類

テクノロジ系 » ソフトウェア » オペレーティングシステム

正解

解説

デッドロックは、共有資源を使用する2つ以上のプロセスが、互いに相手プロセスが必要とする資源を排他的に使用していて、互いのプロセスが相手の使用している資源の解放を待っている状態です。デッドロックが発生すると双方のプロセスが永遠に待ち状態になってしまい、処理の続行ができなくなってしまいます。
am1/16.gif/image-size:312×159
  • 一方のタスクの優先度を高くしても、それによって他方のタスクが使用している資源が解放されるわけではないので、デッドロックの発生を防ぐことはできません。
  • 正しい。デッドロックの発生を防ぐには共有資源の使用順序を同じにします。例えば、タスクAがX→Y→Zという順で資源の獲得をするなら、タスクBも同じくX→Y→Zで資源を獲得するようにします。
  • デッドロックは資源獲得の順序が異なるときに発生するので、資源獲得の順序を逆にするとデッドロックが発生しやすくなります。
  • デッドロックの発生は、優先度の高低とは無関係です。
© 2014-2022 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop