令和2年度 秋期 問72
ファイルの並行更新
出典: 令和2年度 秋期 ITパスポート試験 公開問題 問72 (IPA)
2 台の PC から一つのファイルを並行して更新した。ファイル中のデータ n に対する処理が①~④の順に行われたとき,データ n は最後にどの値になるか。ここで,データ n の初期値は 10 であった。
PC-A の処理内容: ① データ n を読み込み,5 を引く。 ③ 処理①の結果を,データ n に書き込む。
PC-B の処理内容: ② データ n を読み込み,7 を足す。 ④ 処理②の結果を,データ n に書き込む。

- ア 5
- イ 10
- ウ 12
- エ 17
正解と解説を見る
正解: エ
- ア: 5 は、③ で書き込まれた値です。④ で上書きされます。
- イ: 10 は、初期値です。③ と ④ で書き換えられます。
- ウ: 12 は、10 − 5 + 7 の結果です。同時に更新した場合は、更新が重なるので、この値にはなりません。
- エ: 最後の ④ で PC-B が 17 を書き込むので正しい答えです。
ポイント
処理を順に追います。初期値は 10 です。
- ① PC-A が n (10) を読み込んで 5 を引く: 結果 5
- ② PC-B が n (まだ 10) を読み込んで 7 を足す: 結果 17
- ③ PC-A が 5 を書き込む: n = 5
- ④ PC-B が 17 を書き込む: n = 17
最後に書き込んだ PC-B の値で上書きされます。PC-A の更新が失われるので、実際には 排他制御 が必要です。
この問題の用語: 排他制御
広告
「システム構成要素」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)
広告