平成30年度秋期 問30 / 80

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

データベースシステムにおいて,二つのプログラムが同一データへのアクセス要求を行うとき,後続プログラムのアクセス要求に対する並行実行の可否の組合せのうち,適切なものはどれか。ここで,表中の○は二つのプログラムが並行して実行されることを表し,×は先行プログラムの実行終了まで後続プログラムは待たされることを表す。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:エ

ロックの互換性は次のとおりです。

後続\先行 共用 排他
共用 ○ ×
排他 × ×

共用モード(共有ロック)どうしだけが並行実行でき,排他モードが絡む組合せでは後続プログラムが待たされます。

  • ア: 先行が排他のときも後続の共用を許可し,先行が共用のときも後続の排他を許可
    誤り。先行プログラムが排他モードでアクセスしている(更新中の)データを,後続プログラムが共用モードで読むことはできません。また,先行が共用モードのときに後続の排他モードを許すと,参照中のデータが更新されてしまいます。

  • イ: 先行が共用のときに後続の排他を許可
    誤り。先行プログラムが共用モードで参照しているデータに対して,後続プログラムが排他モードでアクセス(更新)することはできません。

  • ウ: 先行が排他のときに後続の共用を許可
    誤り。先行プログラムが排他モードでアクセスしているデータは,他のプログラムからは共用モードでもアクセスできません。

  • エ: 共用どうしのみ○,それ以外は×
    正しい。共用ロック(共有ロック)どうしは同時に参照するだけなので並行実行できます(○)。一方,どちらかが排他ロック(専有ロック)の場合は,データの整合性を保つため後続プログラムは待たされます(×)。


答え

エ: 後続共用・先行共用のみ○,他は全て×

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

平成30年度秋期の他の問題