平成25年度 春期 午前 問31
データベース
排他制御に関する問題
トランザクションの同時実行制御に用いられるロックの動作に関する記述のうち,適切なものはどれか。
- ア共有ロック獲得済の資源に対して,別のトランザクションからの新たな共有ロックの獲得を認める。
- イ共有ロック獲得済の資源に対して,別のトランザクションからの新たな専有ロックの獲得を認める。
- ウ専有ロック獲得済の資源に対して,別のトランザクションからの新たな共有ロックの獲得を認める。
- エ専有ロック獲得済の資源に対して,別のトランザクションからの新たな専有ロックの獲得を認める。
答えと解説を見る
✓ これが正解ア共有ロック獲得済の資源に対して,別のトランザクションからの新たな共有ロックの獲得を認める。
解説
読む者どうしだけが同じ資源を共有できます。
ロックには、読むときに掛ける共有ロックと、書くときに掛ける専有ロックの二種類があります。読むだけなら値は変わりませんので、何人が同時に読んでも互いの邪魔になりません。ところが書き換えている最中の値は、まだ確定していない途中の姿ですから、他の誰にも読ませても書かせてもいけません。この二種類を、先に掛かっている側と後から欲しい側で組み合わせると四通りになり、四つの選択肢はその四つのマスに一つずつ当ててあります。認めてよいのは、読む側どうしが並ぶ一マスだけです。排他制御の勘どころは、何人が来たかではなく、書き手が混ざるかどうかにあります。書き手が一人でも入れば、その資源は独り占めになります。同じ掲示を何人でも同時に読めるけれども、貼り替えている間は誰も近寄れない、と置き換えると迷いません。なお、掛け合いが循環すると互いに待ち続けるデッドロックになりますので、資源に掛ける順序を全体で揃えておきます。
ほかの選択肢はなぜ違うのか
- イ共有ロック獲得済の資源に対して,別のトラ…:誰かが読んでいる最中に書き換えを許すことになります。読み手は途中で中身が入れ替わった資源を見てしまい、前半と後半でつじつまの合わない結果を受け取ります。
- ウ専有ロック獲得済の資源に対して,別のトラ…:書き換えの途中で、まだ取り消される見込みの残る値を読ませることになります。その後で書き手が処理を取りやめると、読んだ側だけが幻の値を握ったまま残ってしまいます。
- エ専有ロック獲得済の資源に対して,別のトラ…:二人が同時に書き込めますので、後から書いたほうが前の更新をそのまま塗りつぶします。先に加えた変更が記録にも残らず消える、最も損害の分かりやすい組合せです。
この問題の用語
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
出典:平成25年度 春期 応用情報技術者試験 午前 問31
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和7年度 秋期 午前 問16:排他制御に関する問題(排他制御)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 平成30年度 秋期 午前 問30:排他制御に関する問題(排他制御)
- 平成30年度 春期 午前 問18:セマフォを用いる目的(排他制御)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)