IPA過去問ドリル

平成31年度 春期 応用情報技術者試験 午前 問18

テクノロジ/ソフトウェア

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

出典:平成31年度 春期 応用情報技術者試験 午前 問18

正解:イ

解説

デッドロックは,複数のタスクが互いに相手の保持する資源の解放を待ち合う「循環待ち」が生じることで発生します。全てのタスクが同じ順序で資源を獲得するようにすれば循環待ちが起こらなくなるため,デッドロックを防ぐことができます。

選択肢ごとの解説

  • 誤り。優先度を高くしても,先に別のタスクが確保した資源の解放を待つ状況そのものは解消されません。
  • 正しい。全てのタスクで資源獲得の順序をそろえれば循環待ちが生じなくなり,デッドロックを防げます。
  • 誤り。順序を逆にすると互いに相手が保持する資源を待つ循環待ちが起こり,かえってデッドロックが発生しやすくなります。
  • 誤り。優先度を同じにしても資源の獲得順序が異なれば循環待ちは起こり得ます。
応用情報技術者の過去問を演習モードで解く