[0126] ページング方式

平成12年度春期 (旧)第2情報処理技術者試験より
 ページング方式の仮想記憶において、実記憶上にないページをアクセスした場合の処理と状態の順番として、適切なものはどれか。ここで,実記憶には現在、空きページはないものとする。
置換え対象ページの決定→ページアウト→ページフォールト→ページイン
置換え対象ページの決定→ページイン→ページフォールト→ページアウト
ページフォールト→置換え対象ページの決定→ページアウト→ページイン
ページフォールト→置換え対象ページの決定→ページイン→ページアウト

正解

解説

 Windowsなど多くのOSでは、コンピュータに搭載されている主記憶装置の容量よりも、もっと多くのアドレス空間を提供する仕組みである仮想記憶方式と呼ばれるメモリ管理を行っています。

 仮想記憶方式では、プログラムの実行に必要な部分だけ主記憶装置に置き、さしあたり不要な部分をHDDなどの補助記憶装置に置きます。そして、必要に応じて、主記憶装置と補助記憶装置間でデータの入れ替えることで、主記憶装置の容量を超えるプログラムの実行を実現しています。

 ページング方式は、仮想記憶方式のひとつです。それでは、ページング方式の解説をしましょう。

■ ページング方式

 補助記憶装置上のプログラムを、2kないし4kといったサイズで分割したものをページと呼びます。同様に、主記憶のアドレス空間も同サイズのページで分割されており、補助記憶装置からプログラムが読み込まれるエリアであるため、ページ枠と呼ばれます。

 ページングは、以下 (1)~(5) の手順で行われます。


(1) プログラム開始時に、プログラムを補助記憶装置から主記憶装置へロードします。 (※上図の例では、ページs1~s3)

(2) [プログラムを実行中に、ページs4の読み込みが必要になった場合]
主記憶上のページ枠に、ページs4が読み込まれているかどうか確認し、読み込まれていない場合は、ページフォルトを発生させます。 ページフォルトは割り込みの一種で、これが発生すると、OSはページの入れ替えを行おうとします。

(3) ページm1~m3から待避させるページ枠を決定します。 どのページ枠にするかは、FIFO法(First-In First-Out;もっとも早くページインしたページを待避させる)、LRU法(Least Recently Used;最も長い間参照されなかったページを待避させる)がその方法として代表的です。

(4) (3)で決定されたページ枠の内容(※ページm3)を、補助記憶装置へ待避させます。 これをページアウトといいます。

(5) (4)でページアウトしたページ枠(※ページm3)へ、補助記憶装置から目的のページ(※ページs4)を読み込みます。 これをページインといいます。


 問題の選択肢では、プログラムがすでに実行されている状態で、まさにこれからページフォルトが発生するところからの処理順序を問うています。

 以上の説明より、ウが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題