基本情報技術者試験 2004年度 = 平成16年度・春期 午前 問69

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

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

解答



解説

 デッドロックは、互いに相手のロックしている資源を要求して待ち状態となり、実行できなくなることです。
 たとえば、A君がもっている資源が空くのをB君が待っているとともに、B君がもっている資源が空くのをA君が待っている状況を想像してみてください。自分の欲しい資源が貰えるまで、現在自分のもっている資源を手放さなければデッドロックに陥ってしまいます。

 デッドロックとは、2相ロック方式において、第1相目でロックを行ってから第2相目でロックを解除するまでの状態のことではありません

 ある資源に対して占有ロックと占有ロックが競合し、片方のトランザクションが待ち状態になっても、現在占有ロック中のトランザクションが終了すれば、資源は解放されますから、デッドロックとはなりません

 あるトランザクションがアクセス中の資源に対して、ほかのトランザクションからアクセスできないようにすることは、占有ロックです。

 デッドロックは、複数のトランザクションが、互いに相手のロックしている資源を要求して待ち状態となり、実行できなくなることです。


BohYoh.comトップページへ