平成30年度 秋期 応用情報技術者試験 午前 問30
データベースシステムにおいて,二つのプログラムが同一データへのアクセス要求を行うとき,後続プログラムのアクセス要求に対する並行実行の可否の組合せのうち,適切なものはどれか。ここで,表中の○は二つのプログラムが並行して実行されることを表し,×は先行プログラムの実行終了まで後続プログラムは待たされることを表す。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
ロックの互換性は次のとおりです。
| 後続\先行 | 共用 | 排他 |
|---|---|---|
| 共用 | ○ | × |
| 排他 | × | × |
共用モード(共有ロック)どうしだけが並行実行でき,排他モードが絡む組合せでは後続プログラムが待たされます。
-
ア: 先行が排他のときも後続の共用を許可し,先行が共用のときも後続の排他を許可
誤り。先行プログラムが排他モードでアクセスしている(更新中の)データを,後続プログラムが共用モードで読むことはできません。また,先行が共用モードのときに後続の排他モードを許すと,参照中のデータが更新されてしまいます。 -
イ: 先行が共用のときに後続の排他を許可
誤り。先行プログラムが共用モードで参照しているデータに対して,後続プログラムが排他モードでアクセス(更新)することはできません。 -
ウ: 先行が排他のときに後続の共用を許可
誤り。先行プログラムが排他モードでアクセスしているデータは,他のプログラムからは共用モードでもアクセスできません。 -
エ: 共用どうしのみ○,それ以外は×
正しい。共用ロック(共有ロック)どうしは同時に参照するだけなので並行実行できます(○)。一方,どちらかが排他ロック(専有ロック)の場合は,データの整合性を保つため後続プログラムは待たされます(×)。
答え
エ: 後続共用・先行共用のみ○,他は全て×
出典:平成30年度 秋期 応用情報技術者試験 午前 問30