過去問解きまくり研究所 ホーム

データベース|平成22年度 春期 ITパスポート試験 問82

2 台の PC から一つのファイルを並行して更新した。ファイル中の同一データ(データ 1)に対する処理が ① 〜 ④ の順に行われたとき,データ 1 はどの値になるか。ここで,データ 1 の初期値は 5 であった。

〔図〕2 台の PC とファイルの関係(当課が処理内容を字に書き起こしたもの)

```
PC−A 【処理内容】
① データ1を読み込み,10 を足す。
③ ①の結果を,データ1に書き込む。

PC−B 【処理内容】
② データ1を読み込み,1 を引く。
④ ②の結果を,データ1に書き込む。

中央のファイルに「データ1」があり、両方の PC が読み書きする。
処理はまる数字の順(① → ② → ③ → ④)に行われる。
```

解説

読み込んだ時の値をもとに書くので、先の足し算が消えます。

一つの記録を、二台の機が同時に書き換えました。初めの値は五で、四つの操作が順に進みます。一つ目の機が読み、十を足して十五を手元に持ちます。ただし記録そのものは、まだ五のままでした。次に二つ目の機も読みますが、そこは五のままです。一を引いて四を手元に持ちました。三つ目の操作で、一つ目の機が十五を書き込みます。続く四つ目で、二つ目の機が四を書き込みました。後から書いたほうが残るので、答えは四になります。この数を挙げた肢が当たり、先の足し算は消えました。両方が反映されると考えると、十四という数が出ます。ところが二つ目の機は、足した後の値を見ていません。三つ目で止めると、十五という数になりました。これを防ぐのが排他制御で、読んだ側を待たせます。シラバスも、この仕組みを項目として置いています。

ほかの選択肢はなぜ違うのか

この問題に関係する言葉

出典:平成22年度 春期 ITパスポート試験 問82(改変:原典の図表をテキストに書き起こした)

この問題を演習で解く

同じ単元をまとめて解くならデータベースへ。

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)