IPA公式正解:エ 待ちグラフ
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【エ】です。DBMSにおいて、トランザクション間の資源待ち関係を有向グラフとして表現したものを「待ちグラフ(Wait-For Graph: WFG)」と呼びます。この待ちグラフ内に閉路(サイクル)が存在することを検出することで、デッドロックの発生を判定します。
【詳細解説】■ 本問の核心・解法のポイント
デッドロックとは、複数のトランザクションが互いに相手の保持する資源の解放を待ち続け、処理が進まなくなる状態です。これを検出するためにDBMSが内部で管理・追跡するデータ構造が「待ちグラフ(Wait-For Graph)」です。トランザクションを頂点(ノード)、解放待ちの関係を有向辺(エッジ)として表現し、閉路(ループ)が形成された場合にデッドロックと判定して一方のトランザクションをアボート(ロールバック)させます。
・各選択肢の徹底解説:
・ア:資源割当表は、どの資源がどのトランザクションに割り当てられているかを管理する表ですが、待ちの依存関係や巡回(閉路)を直接検出するための専用構造ではありません。
・イ:時刻印順管理表は、タイムスタンプ順序付け法(Timestamp-ordering protocol)等でトランザクションの開始時刻やアクセス時刻を記録するために用いる概念ですが、ロック方式のデッドロック検出用ではありません。
・ウ:優先順管理表は、トランザクションのスケジューリング優先度を管理するものであり、デッドロックの検出には使われません。
・エ:【選択肢エ★】待ちグラフ(Wait-For Graph)は、トランザクション間の待ち状態を有向グラフで表したデータ構造であり、グラフ探索アルゴリズムによって閉路を検出することでデッドロックを判定します。
よって正解はエです。