パスポイ

あるトランザクション処理は,①共有領域から値を読み取り… ITパスポート 平成25年度秋期67

テクノロジ系

あるトランザクション処理は,①共有領域から値を読み取り,②読み取った値に数値を加算し,③結果を共有領域に書き込む手順からなっている。複数のトランザクションを並列に矛盾なく処理するためには,トランザクション処理のどの時点で共有領域をロックし,どの時点でロックを解除するのが適切か。 時間  時点(a) ①共有領域から値を読み取り  時点(b) ②読み取った値に数値を加算  時点(c) ③結果を共有領域に書き込む  時点(d)

平成25年度秋期 問67の図
  • | 共有領域のロック | 共有領域のロック解除 | |---|---| | 時点(a) | 時点(c) |
  • | 共有領域のロック | 共有領域のロック解除 | |---|---| | 時点(a) | 時点(d) |
  • | 共有領域のロック | 共有領域のロック解除 | |---|---| | 時点(b) | 時点(c) |
  • | 共有領域のロック | 共有領域のロック解除 | |---|---| | 時点(b) | 時点(d) |
正解と解説を見る

正解

| 共有領域のロック | 共有領域のロック解除 | |---|---| | 時点(a) | 時点(d) |

正解は「時点(a)から時点(d)」である。複数のトランザクションが矛盾なく処理されるためには、共有領域の値を読み取る前(時点a)からロックを開始し、読み取り・加算・書き込みという一連の処理がすべて完了した後(時点d)にロックを解除する必要がある。途中の時点(bやc)でロックを解除してしまうと、他のトランザクションが処理途中の値を読み取ってしまい、更新結果が失われるなどの不整合(ロストアップデート)が発生するおそれがある。そのため、処理全体を排他制御の対象とする時点(a)から時点(d)までが正しい範囲である。

出典:平成25年度 秋期 ITパスポート試験 問67

問題文および選択肢は独立行政法人情報処理推進機構(IPA)が公開する試験問題に基づいています。著作権はIPAに帰属します。解説は当サイトが独自に作成したものです。

解いて競うと、毎月1位にAmazonギフト券5,000円分

無料登録すると過去問演習のスコアが月間ランキングに記録されます。1回10問・スマホでサクッと。