PR
【問題】
 仮想記憶システムにおいて,物理メモリ上のページをハードディスクに移動することを何といいますか。
A. 割り込み処理
B. スプーリング
C. ページアウト
D. ワーキングセット

正解:C

この問題と解説は『MCAスキルチェック重点攻略 プラットフォーム(M10-201対応)』(日経BPソフトプレス 発行)から抜粋したものです。

【ポイント解説】

仮想記憶システム

 ハードディスク上の領域をメモリの一部として使用することで,コンピュータに実際に搭載されている物理メモリの容量以上のメモリを使用するための方法を仮想記憶システムといいます。

 OSは,プロセスからメモリを要求されると,各プロセスに対して仮想メモリと呼ばれる仮想的なメモリ空間を使ってメモリを割り当てます。プロセスに割り当てられた仮想メモリ上の領域は,必要に応じて物理メモリとハードディスクにマッピングされます。

仮想メモリ使用時の動作

  1. プロセスからメモリが要求されると,OSは必要なメモリのサイズを計算して物理メモリに割り当てます。
  2. 物理メモリが不足すると,物理メモリ上にあるデータの中から一番古いもの,または最も使用頻度の少ないものをハードディスクの中に移動し,新しいデータを物理メモリに格納します。
  3. ハードディスクに移動したデータが再び必要になった場合には,同じ方法で物理メモリ上の別のデータと入れ替えて物理メモリに戻します。

 この様子を図1-1に示します。仮想メモリ使用時の動作は,メモリ空間をページと呼ばれるブロック単位(Windowsでは通常4KB)に分けて行うためページングともいいます。ページングは,ユーザーはもちろん,アプリケーションからもまったく透過的に行われます。

図1-1●仮想記憶システム
図1-1●仮想記憶システム

 物理メモリ上のデータをハードディスクのページに書き込むことをページアウト,ハードディスク上のデータを物理メモリに戻すことをページインといいます。また,参照しようとするページが物理メモリ上に存在しないことをページフォールトといいます。ページフォールトが発生するとページインが行われます。

仮想記憶システムの限界

 仮想記憶システムを用いることにより,多くのメモリをプログラムに割り当てることができます。しかし,直接物理メモリとデータのやり取りを行う場合とは異なり,仮想記憶システムでは,ハードディスクへの読み書きが発生します。ハードディスクとのやり取りは必ずしも高速ではありません。そのため,あまり頻繁にページングが起きるとコンピュータの処理速度が低下します。

ワーキングセット

 あるプロセスによって使用されるメモリの総量のことをワーキングセットといいます。仮想メモリを使用するシステムの場合には,図1-2に示すように,各プロセスに割り当てられている仮想メモリ空間のページの中で実際に物理メモリ上に存在しており,すぐに参照できるページの合計サイズのことを指します。

図1-2●ワーキングセット
図1-2●ワーキングセット

 Windowsでは,ワーキングセットの大きさは,コンピュータシステムに搭載されている物理メモリの大きさに基づいて最小値と最大値が設定されます。プロセスが要求するページの総数が最大値を超えると,ページアウトが行われます。

物理メモリサイズの見積もり

 コンピュータに必要な物理メモリのサイズを判断する場合には,同時に使用するアプリケーションのワーキングセットの合計を測定し,過度にページングが発生しないように見積もります。