平成30年度 秋期 応用情報技術者試験 午前 問30
テクノロジ/データベースデータベースシステムにおいて,二つのプログラムが同一データへのアクセス要求を行うとき,後続プログラムのアクセス要求に対する並行実行の可否の組合せのうち,適切なものはどれか。ここで,○は二つのプログラムが並行して実行されることを表し,×は先行プログラムの実行終了まで後続プログラムは待たされることを表す。各選択肢は,先行プログラムのアクセスモード(共用/排他)と後続プログラムのアクセスモード(共用/排他)の組合せに対する可否を示している。 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成30年度 秋期 応用情報技術者試験 午前 問30
- ア後続=共用のとき(先行=共用:○,先行=排他:○),後続=排他のとき(先行=共用:○,先行=排他:×)
- イ後続=共用のとき(先行=共用:○,先行=排他:×),後続=排他のとき(先行=共用:○,先行=排他:×)
- ウ後続=共用のとき(先行=共用:○,先行=排他:○),後続=排他のとき(先行=共用:×,先行=排他:×)
- エ後続=共用のとき(先行=共用:○,先行=排他:×),後続=排他のとき(先行=共用:×,先行=排他:×)
正解:エ
解説
排他制御では,共用(共有)ロックどうしは同時に許可されますが,一方が排他(占有)ロックを要求している場合は,先行のロックが解放されるまで後続のアクセスは待たされます。したがって,共用×共用のみ並行実行可(○)で,それ以外の組合せ(共用×排他,排他×共用,排他×排他)は全て待ち(×)になるのが正しい可否表です。
選択肢ごとの解説
- ア誤り。先行が排他ロックのときに後続の共用アクセスを並行実行可(○)としており,排他ロックの性質に反します。
- イ誤り。後続が排他のとき,先行が共用でも並行実行可(○)としており,共用ロックと排他ロックが同時に成立してしまいます。
- ウ誤り。後続が共用で先行が排他のときに並行実行可(○)としており,排他ロックが取得されている間は他のアクセスを許可しない原則に反します。
- エ正しい。共用×共用のみ並行実行可(○)とし,排他ロックが関わる組合せは全て待ち(×)とするのが排他制御の基本原則に合致します。