応用情報技術者試験 応用情報技術者試験 平成31年度春期 午前18: 二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。

応用情報技術者試験 平成31年度春期 午前
Q 1818 / 80
二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
この問の正解率:72.35%(897件)

解説

応用情報技術者試験 平成31年度春期 午前 問18「二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するお…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約72%です。

正解

. 資源獲得の順序を両方のタスクで同じにする。

正答率 72.4%(897人中 649人が正解)

問題の解説

デッドロックが発生する仕組みと、その防止策を問う問題である。デッドロックは、2 つのタスクが資源を互いに逆の順序で確保しようとし(一方は資源1→資源2、他方は資源2→資源1)、それぞれが相手の持つ資源の解放を待ち続けることで起こる。これを防ぐには資源を獲得する順序を両方のタスクで統一すればよく、先に資源を取れた側が両方を確保して処理を終え解放するため待ち合いの循環が生じない。よってイが正解である。

選択肢ごとの解説

  • 一方の優先度を高くしても、両タスクが資源を逆順に要求する状況自体は残るためデッドロックを防げない。
  • 資源獲得の順序を両タスクで同じにすれば、循環的な待ち合いが生じなくなりデッドロックを根本から防げるので正しい。
  • 獲得順序を逆にすることはまさにデッドロックを引き起こす原因であり、防止策としては正反対で誤り。
  • 優先度を同じにしても、資源を逆順に要求して互いに待ち合う状況は防げないためデッドロックは起こりうる。

応用情報技術者試験 平成31年度春期 午前 の過去問一覧に戻る・問18

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード