IPA過去問ドリル

平成30年度 秋期 応用情報技術者試験 午前 問30

テクノロジ/データベース

データベースシステムにおいて,二つのプログラムが同一データへのアクセス要求を行うとき,後続プログラムのアクセス要求に対する並行実行の可否の組合せのうち,適切なものはどれか。ここで,○は二つのプログラムが並行して実行されることを表し,×は先行プログラムの実行終了まで後続プログラムは待たされることを表す。各選択肢は,先行プログラムのアクセスモード(共用/排他)と後続プログラムのアクセスモード(共用/排他)の組合せに対する可否を示している。 (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成30年度 秋期 応用情報技術者試験 午前 問30

正解:エ

解説

排他制御では,共用(共有)ロックどうしは同時に許可されますが,一方が排他(占有)ロックを要求している場合は,先行のロックが解放されるまで後続のアクセスは待たされます。したがって,共用×共用のみ並行実行可(○)で,それ以外の組合せ(共用×排他,排他×共用,排他×排他)は全て待ち(×)になるのが正しい可否表です。

選択肢ごとの解説

  • 誤り。先行が排他ロックのときに後続の共用アクセスを並行実行可(○)としており,排他ロックの性質に反します。
  • 誤り。後続が排他のとき,先行が共用でも並行実行可(○)としており,共用ロックと排他ロックが同時に成立してしまいます。
  • 誤り。後続が共用で先行が排他のときに並行実行可(○)としており,排他ロックが取得されている間は他のアクセスを許可しない原則に反します。
  • 正しい。共用×共用のみ並行実行可(○)とし,排他ロックが関わる組合せは全て待ち(×)とするのが排他制御の基本原則に合致します。
応用情報技術者の過去問を演習モードで解く