ページング方式
アクセスしようとしたときに物理メモリをページに割り当てる方式をデマンドページング (Demand Paging) と呼ぶ。換言すれば、ページフォールトが発生したときに物理メモリを割り当てる。プロセスが実行を開始したとき物理メモリは割り当てられておらず、プロセスのワーキングセットの大部分が物理メモリに置かれるまでページフォールトが発生し続けることになる。これは遅延ロード技法の一例である。
デマンドページングの利点:
アクセスされないページはロードされない。そのため、メモリ使用量が節約され、マルチプログラミング(マルチタスク)の度合いを向上させる。
プログラム実行開始前のロードによる遅延がない。
ページの読み込みが最小限なのでディスク負荷が少ない。
ページは更新されるまで複数のプログラムから共有され、コピーオンライトによってさらにリソースを節約できる。
実装メモリ量よりも巨大なプログラムを実行できる。オーバーレイという古い技術よりも優れている。
本来のページング方式が必要とする以上のハードウェア機構を必要としない。
欠点:
プログラムが任意の仮想ページに初めてアクセスする際、遅延が発生する。そこでプリページングという技法で以前に動作したときに使用していたページを覚えておき、スケジューリングによって実行される際にそれらのページを予め物理メモリにロードしておいて性能向上を図ることもある。また、特にアクセスしていたページを覚えておかなくとも、プログラムカウンタとスタックポインタの指している仮想ページだけでも予めロードしておけばある程度の性能向上は図れる。