平成28年度秋期 応用情報技術者試験 午前 問18
プログラムで使用可能な実メモリ枠が3ページである仮想記憶システムにおいて,大きさ6ページのプログラムが実行されたとき,ページフォールトは何回発生するか。ここで,プログラム実行時のページ読込み順序は,0,1,2,3,4,0,2,4,3,1,4,5とする。ページング方式は,LRU(Least Recently Used)とし,初期状態では,実メモリにはいずれのページも読み込まれていないものとする。
- ア 9
- イ 10
- ウ 11
- エ 12
解答・解説を見る
正解:イ
AI解説
LRU方式は「最も長い間参照されていないページ」を置き換える。実メモリ3ページで参照列0,1,2,3,4,0,2,4,3,1,4,5を順に処理すると、0,1,2(3回フォールト)→3で0を追出し→4で1を追出し→0で2を追出し→2で3を追出し→4はヒット→3で0を追出し→1で2を追出し→4はヒット→5で3を追出し、となる。ページフォールトは0,1,2,3,4,0,2,3,1,5の計10回発生する。 ア: 9回はヒットを3回と数えるなどシミュレーションの誤りによる値である。ヒットは4と4の2回だけである。 イ: 正しい。12回の参照のうち2回(6番目以降の4と、その後の4)がヒットし、残り10回がページフォールトとなる。 ウ: 11回はヒットを1回と数えた誤りである。 エ: 12回は全参照がフォールトしたとする誤りで、実際には4への参照が2回ヒットする。 💡 LRU問題は表を書いて機械的に解く。各参照時点で「フレーム内容」と「参照の新しさ順」を更新し、追い出すのは最も古く参照されたページ。FIFO(読み込んだ順で追出し)との違いに注意。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。