ソフトウェア開発技術者試験 2002年度 = 平成14年度 午前 問25

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

ア 9 イ 10 ウ 11 エ 12

解答



解説

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

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

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


BohYoh.comトップページへ