平成23年度 秋期 基本情報技術者試験 午前 問34
テクノロジ/データベースDBMSにおけるデッドロックの説明として,適切なものはどれか。
出典:平成23年度 秋期 基本情報技術者試験 午前 問34
- ア2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のこと
- イある資源に対して専有ロックと専有ロックが競合し,片方のトランザクションが待ち状態になること
- ウあるトランザクションがアクセス中の資源に対して,他のトランザクションからアクセスできないようにすること
- エ複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること
正解:エ
解説
デッドロックとは,複数のトランザクションが互いに相手がロックしている資源の解放を待ち続け,どちらも処理を進められなくなる状態のことです。相互に依存し合う待ち状態から抜け出せなくなる点が特徴です。
選択肢ごとの解説
- ア誤り。これは2相ロックにおける成長相・縮退相の説明で,デッドロックとは異なる概念です。
- イ誤り。これは単なるロック競合による待ち状態の説明で,デッドロック(相互待ちで実行不能になる状態)とは異なります。
- ウ誤り。これは排他制御(ロック)そのものの目的の説明であり,デッドロックの説明ではありません。
- エ正しい。複数のトランザクションが互いに相手のロック資源を要求して待ち状態となり,実行できなくなるのがデッドロックです。