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

ITパスポート 平成22年度 春期 問82

データベース

排他制御に関する問題

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

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

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

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

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

✓ これが正解ア 4

解説

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

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

ほかの選択肢の解説

この分野を演習で解く この問題を記録に残す

関連用語

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

解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。

関連問題

同じ分野の問題

誤りを見つけたら報告する(メールが開きます)