IPA過去問ドリル

平成29年度 秋期 応用情報技術者試験 午前 問29

テクノロジ/データベース

トランザクションA~Gの待ちグラフにおいて,永久待ちの状態になっているトランザクション全てを列挙したものはどれか。ここで,待ちグラフのX→Yは,トランザクションXはトランザクションYがロックしている資源のアンロックを待っていることを表す。 〔トランザクションA~Gの待ちグラフ〕

平成29年度 秋期 応用情報技術者試験 午前 問29の図

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

正解:ウ

解説

待ちグラフに閉路(サイクル)があるトランザクションはデッドロック状態にあり,永久に待ち続けます。図の待ちグラフではB→D,D→C,C→Bという閉路が存在し,B,C,Dが互いに待ち合ってデッドロックを構成しています。一方,AはCから,EはFやDから一方向に待たれるだけで閉路に含まれず,Gも閉路の外側にあるため永久待ちにはなりません。

選択肢ごとの解説

  • 誤り。Aは閉路に含まれるB,C,Dから一方的に待たれる(矢印を受ける)だけの終端ノードであり,永久待ちの状態にはありません。
  • 誤り。永久待ちとなるのはB,C,Dですが,Fが含まれていません。Fは閉路の外側からDを待つ側であり,自身が待たれることはないため永久待ちではありません。
  • 正しい。B→D→C→Bという閉路によってB,C,Dは互いに資源の解放を待ち合うデッドロックとなり,永久待ちの状態になります。
  • 誤り。C,D,E,F,Gのうち,E,F,Gは閉路の外側にあり,いずれ資源が解放されて待ちが解消されるため,永久待ちにはなりません。
応用情報技術者の過去問を演習モードで解く