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

平成28年度 秋期 午前 問18

ソフトウェア

ページフォールト

プログラムで使用可能な実メモリ枠が 3 ページである仮想記憶システムにおいて,大きさ 6 ページのプログラムが実行されたとき,ページフォールトは何回発生するか。ここで,プログラム実行時のページ読込み順序は,0, 1, 2, 3, 4, 0, 2, 4, 3, 1, 4, 5 とする。ページング方式は,LRU(Least Recently Used)とし,初期状態では,実メモリにはいずれのページも読み込まれていないものとする。

答えと解説を見る

✓ これが正解イ10

解説

12回の参照のうちヒットは2回、残りが外れです。

LRU は、最も長く使われていないものを追い出す置換えの方式です。枠の中身を、古く使ったものから新しく使ったものへ並べて書き出すと数え間違いが減ります。参照の列を順に追います。最初の 0、1、2 は空いている枠に入るので三つとも外れで、この時点で枠は埋まります。次の 3 では最も古い 0 が出ていき、4 では 1 が、そのあとの 0 では 2 が、続く 2 では 3 が出ていきます。ここまでで外れは七つです。八手目の 4 は枠の中にあるのでヒットとなり、中身は変わらず並び順だけが新しい側へ動きます。続く 3 では 0 が、1 では 2 が追い出されて外れが九つになります。十一手目の 4 も枠の中にあるので二度目のヒットです。最後の 5 で 3 が追い出され、外れは十になります。検算はヒットを数えるほうが速く、12 回のうちヒットは 2 回なので、12 から 2 を引いて 10 と一致します。プログラムの大きさが 6 ページであることは枠の数とは別の条件で、枠は 3 ページのままです。

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

出典:平成28年度 秋期 応用情報技術者試験 午前 問18

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