平成26年秋期試験問題 午前Ⅱ 問21

トランザクションA~Dに関する待ちグラフのうち,デッドロックが発生しているものはどれか。ここで,待ちグラフの矢印は,X→Yのとき,トランザクションXはトランザクションYがロックしている資源のアンロックを待っていることを表す。

  • 21a.gif
  • 21i.gif
  • 21u.gif
  • 21e.gif
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
デッドロックとは、共有資源を使用する2つ以上のプロセスが、互いに相手プロセスの必要とする資源を排他的に使用し、互いのプロセスが相手が使用している資源の解放を待っている状態です。

選択肢の4つの状態のA~Dのうち資源の解放待ちにより処理の続行が停止しているトランザクションに印を付けると次のようになります。
21.gif
  • まずAが資源を解放すると、Bが処理再開します。次にBの処理が進み資源が解放されるとCの処理が再開します。最後にCが資源を解放すればDも再開するのでデッドロックではありません。
  • 正しい。唯一、処理続行が可能であるDが資源を解放しても、AはCを、CはBの、BはAの資源解放を待たなければならないため処理の再開ができないデッドロック状態です。
  • B,C,Dの処理が続き資源が解放されればAも処理を再開できるのでデッドロックではありません。
  • Cが資源を解放すれば、他のプロセスも処理を再開できるのでデッドロックではありません。

Pagetop