応用情報技術者平成30年春期 午前問19
ページング方式の仮想記憶における主記憶の割当てに関する記述のうち,適切なものはどれか。
1、ページング方式とは、仮想アドレス空間を「ページ」と呼ばれる固定長の区画に分割、同時に主記憶上も同じように固定長に分割して、このページ単位で主記憶と補助記憶装置のアドレス変換を行う仮想記憶管理方式です。
2、ページング方式の仮想記憶において、プログラムの実行に必要なページが主記憶(実メモリ)上に存在しない場合、下記流れで処理します:
1)、システムは「ページフォールト」という割込みを発生させます。
2)、ページフォールトが発生すると、主記憶と仮想記憶間でページの入替えが行われます。
この入替え動作において、
2)ー1、主記憶から仮想記憶にページを退避することを「ページアウト」、
2)ー2、仮想記憶から主記憶にページをロードすることを「ページイン」といいます。
・ページフォールトとは、
ページング方式の仮想記憶(仮想メモリ)において、プログラム(プロセス)がアクセスしようとした仮想メモリ領域(ページ)が物理メモリ上に無く、ストレージに退避していることが分かったときに発生する例外あるいは割り込み処理。
下記注意点があります:
・主記憶の空きが存在しない場合には、ページ置換えアルゴリズムに従って主記憶上の使用されていない部分をページアウトさせ、その空いた領域に必要なページをページインするので、プログラムの終了を待つことはありません。
・1つのプログラムに割り当てられる主記憶容量は、プログラムの進行によって増減します。
・プログラムの実行開始時には、全てのページが仮想記憶にマッピングされるため、どのページにも主記憶領域は割り当てられません。データ領域・コード領域にかかわらず、全てのページはページフォールトを契機に主記憶にロードされますので、プログラムの開始時にはページフォールトが連続して発生することになります。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
補足
仮想記憶方式に関する記述のうち,適切なものはどれか。
1、
・アドレス変換をインデックス方式で行う場合は,主記憶に存在する全ページ分のページテーブルが必要になる。
→×。インデックス方式では、小さなページテーブルをいくつか使って使用中の仮想空間の領域だけをカバーし、本当に必要なときだけ追加のページテーブルを作成する多段ページテーブルを用いるので、必要となるのは最低限のページテーブルだけで済みます。
・ページフォールトが発生した場合は,ガーベジコレクションが必要である。
→×。ページフォールトが発生した場合は,置換え対象を決定した後、ページアウト/ページインが行われます
・ページングが繰り返されるうちに多数の小さな空きメモリ領域が発生することを,フラグメンテーションという。
→×。ページングでは固定長の単位で行われるため、フラグメンテーション(メモリの断片化)は発生しません。
参照
ページ置換えアルゴリズム LRU、LFU、FIFO
https://qiita.com/lymansouka2017/items/85de9f37c766d3461465