応用情報技術者試験 2016年度 = 平成28年度・秋期 午前 問18

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

ア 9 イ 10 ウ 11 エ 12

解答

ア

解説

 仮想記憶管理におけるページ置換えアルゴリズムの一つであるLRU(least recently used)では、最後に使われてから最も時間が経過しているページを最初にページアウトします。すなわち、最も長い間参照されていないページをページアウトする方式です。
 どのようにページイン・ページアウトされるかを考えていきましょう。

ページフォールト発生(必要とするページが実メモリ枠に存在しない)  ↓    ┌─┬─┬─┐  ○ │0│ │ │ 0をページイン    └─┴─┴─┘    ┌─┬─┬─┐  ○ │0│1│ │ 1をページイン    └─┴─┴─┘    ┌─┬─┬─┐  ○ │0│1│2│ 2をページイン    └─┴─┴─┘    ┌─┬─┬─┐  ○ │3│1│2│ 0をページアウトして3をページイン    └─┴─┴─┘    ┌─┬─┬─┐  ○ │3│4│2│ 1をページアウトして4をページイン    └─┴─┴─┘    ┌─┬─┬─┐  ○ │3│4│0│ 2をページアウトして0をページイン    └─┴─┴─┘    ┌─┬─┬─┐  ○ │2│4│0│ 3をページアウトして2をページイン    └─┴─┴─┘    ┌─┬─┬─┐    │2│4│0│ 4を参照・更新    └─┴─┴─┘    ┌─┬─┬─┐  ○ │2│4│3│ 0をページアウトして3をページイン    └─┴─┴─┘    ┌─┬─┬─┐  ○ │1│4│3│ 2をページアウトして1をページイン    └─┴─┴─┘    ┌─┬─┬─┐    │2│4│0│ 4を参照・更新    └─┴─┴─┘    ┌─┬─┬─┐  ○ │2│4│5│ 0をページアウトして5をページイン    └─┴─┴─┘

 以上から、ページフォールトが発生するのは10回であることが分かります。


BohYoh.comトップページへ