平成24年春期試験問題 午前Ⅱ 問13

デッドロックが発生する可能性のある排他制御の方式はどれか。

  • 2相ロックプロトコルに従ってロックする方式
  • 時刻印を用いて,トランザクションの優先順位を決める方式
  • 全てのトランザクションにおいて,ロック対象のデータは一定の順序でロックを行い,全てのロックが完了するまで,アンロックを行わない方式
  • トランザクション開始時に一括してロックする方式
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
デッドロックとは、共有資源を使用する複数のトランザクションが、互いに相手のトランザクションが必要とする資源を排他的に使用していて、さらに互いのトランザクションが相手が使用している資源の解放を待っている状態です。デッドロックが発生するとトランザクションは永遠に待ち状態になってしまうため、処理の続行ができなくなってしまいます。
13.png
  • 正しい。2相ロック方式では必要なデータを全てロックするまでアンロックを開始できないためデッドロックが発生する可能性があります。
  • 時刻印方式では、トランザクション開始時に付与する時刻印によってトランザクションの優先度を決める手法です。ロックの競合が生じた場合は時刻印を比較することでどちらのトランザクションを優先するかを決定できるためデッドロックは発生しません。
  • デッドロックは、資源の占有順序が異なる場合に発生する可能性があります。記述には「全てのトランザクションが対象データを一定の順序でロックする」とあるため、デッドロックは発生しません。
  • 必要となる全ての資源を全てロックしてからトランザクションを開始するロック方式を保守的な(conservative)2相ロックプロトコルと言います。この方式ではトランザクションの途中で相手のアンロックを待つことが無くなるためデッドロックは発生しません。しかし全ての資源を獲得するまでトランザクションを開始できないため同時実行性が極端に下がってしまいます。

この問題の出題歴


Pagetop