待ちグラフと永久待ちトランザクション

待ちグラフにおいて、永久待ち(デッドロック)状態になるのは、閉路(サイクル)を形成しているトランザクション群です。 待ちグラフの有向辺を確認すると: ・B → C ・C → D ・D → F ・F → B という閉路 $B \to C \to D \to F \to B$ が存在します。この4つのトランザクションは相互に相手の資源解放を待ち合っているため、外部からアボートされない限り永久待ちとなります。 その他のノード(A, E, G)は閉路の循環に含まれていません。 したがって、永久待ちになっているトランザクションは B, C, D, F の4つ(選択肢ウ)です。 閉路の一部しか列挙されておらず、D, F が欠落しています。 閉路に含まれていないトランザクション A が混入しています。 閉路に含まれていない E, G が混入しています。

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

〔トランザクションA〜Gの待ちグラフ〕

q13-figure-1
出典令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問13
ア
A, B, C
イ
A, B, C, D, F
ウ
B, C, D, F
エ
C, D, E, F, G