ITの基礎知識|ITパスポート・基本情報

基本情報技術者 平成23年秋 問34

2017.11.16

DBMS におけるデッドロックの説明として,適切なものはどれか。              

  • ア: 2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のこと
  • イ: ある資源に対して占有ロックと占有ロックが競合し,片方のトランザクションが待ち状態になること
  • ウ: あるトランザクションがアクセス中の資源に対して,ほかのトランザクションからアクセスできないようにすること
  • エ: 複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること

 

Show answer

正解: エ

解説

DBMS ( DataBase Management System )とは、共有データとしてのデータベース管理し、 データに対するアクセス権の要求に応えるソフトウェアである。 プロセスが排他的に1つのレコードを占有(ロック)しそれが複数あるとき、 占有していないレコードにあるプロセスがアクセスしようとすると、占有している プロセスが終了するまでそのプロセスは待ち状態となる。この状態が双方で 起こると共に待ち状態となる。このことをデッドロックという。データベース上に 不具合が発生ない様に DBMS がデッドロックを起こし、プログラムに通知することもある。 よって、正解は(エ)である。

  • ア: 2相ロックとは、データ操作開始時に処理データ全てをロック、 操作後に全て解放するロックのことを指す。
  • イ: 片方のみではなく双方がロックするとデッドロックとなる。
  • ウ: 排他制御に関しての記述。
  • エ: デッドロックに関しての記述。よって、正解である。