平成23年度 秋期 午前 問34
データベース
デッドロックの説明
DBMS におけるデッドロックの説明として,適切なものはどれか。
- ア2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のこと
- イある資源に対して専有ロックと専有ロックが競合し,片方のトランザクションが待ち状態になること
- ウあるトランザクションがアクセス中の資源に対して,他のトランザクションからアクセスできないようにすること
- エ複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること
答えと解説を見る
✓ これが正解エ複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること
解説
互いに相手のロックを待ち合って動けなくなる状態です。
ロックにまつわる記述を見分けるときは、待ちが起きているかどうかと、その待ちがひとりでに解けるかどうかの二段で考えると整理できます。片方だけが待っている状態であれば、先に資源を持っている側が処理を終えれば待ちは解けます。ところが複数のトランザクションが、それぞれ相手の持っている資源を要求して待ちに入ると、どちらも先へ進めず、待ちは自然には解けません。デッドロックが指すのはこの後者です。判定の軸は二つで、待ちが互いに向き合っているかどうか、そしてその結果として処理が進まなくなるかどうかです。手順の局面を述べたものや、仕組みそのものを述べたものは、そもそも状態を指していません。
ほかの選択肢はなぜ違うのか
- ア2相ロックにおいて,第1相目でロックを行…:ロックを取る段階と外す段階を分けて進める手順の、途中の局面を述べたものです。手順の説明であって、動けなくなった状態を指す言葉ではありません。
- イある資源に対して専有ロックと専有ロックが…:一方が資源を確保しているために、もう一方が順番を待つ場面です。待っているのは片側だけなので、先に確保した側が終われば待ちは解けます。
- ウあるトランザクションがアクセス中の資源に…:ある処理が使っている資源に、ほかから触れられないようにする仕組みそのものの説明です。仕組みの説明であり、行き詰まった状態ではありません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
出典:平成23年度 秋期 基本情報技術者試験 午前 問34
同じ用語が出る問題
- 令和6年度 科目A 問7:原子性に関する問題(DBMS)
- 令和5年度 科目A 問7:ACIDに関する問題(トランザクション)
- 令和元年度 秋期 午前 問29:ロックが発生しないデータ処理順序(トランザクション)
- 平成30年度 春期 午前 問27(DBMS)
- 平成29年度 秋期 午前 問39:SQLインジェクション攻撃の説明(DBMS)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)