
2相ロッキングプロトコルに従ってロックを獲得するトランザクション A, B を図のように同時実行した場合に,デッドロックが発生しないデータ処理順序はどれか。ここで,read と update の位置はアプリケーションプログラムでの命令発行時点を表す。また,データ W への read は共有ロックを要求し,データ X, Y, Z への update は各データへの専有ロックを要求する。 A: read W → update X → update Y → update Z B: ①→②→③→④
ウ. ①update X, ②read W, ③update Y, ④update Z
デッドロック回避には A・B が同じ順序でロックを取得することが鍵。Aが X→Y→Z の順なので Bも X(または Wのみ共有)を先に取得する順序ならデッドロックしない。ウは X 先取得で A は X 待ちになり、B が完了後 A が進む。
基本情報技術者試験 令和元年度 秋期 午前 の過去問一覧へ戻る・問29