- 前回の勉強内容
- 今回の勉強内容 : ページング方式の基本用語を理解したい。
- ページング方式とは、メモリ領域をページと呼ばれる一定の大きさの領域に分割し、物理的なアドレスとは別に仮想的なアドレスを割り当てて管理する方式です。
- アクセスしようとした領域が物理メモリではなく仮想メモリにある場合に発生する割り込み処理をページフォールトといいます。
- 次回の勉強内容
前回の勉強内容
今回の勉強内容 : ページング方式の基本用語を理解したい。
ページング方式とは、メモリ領域をページと呼ばれる一定の大きさの領域に分割し、物理的なアドレスとは別に仮想的なアドレスを割り当てて管理する方式です。
物理メモリが不足した時にOSさんは、ハードディスクの一部をメモリっぽく使用してくれます。
それが仮想メモリです。仮想メモリはハードディスクにスワップファイルという専用領域を造ります。
$ cd /var/vm/ #<<< Mac OSはここにスワップファイルを作ります。 $ ls -l total 8388608 -rw------T 1 root wheel 1073741824 3 31 22:05 sleepimage -rw------- 1 root wheel 1073741824 2 20 00:06 swapfile0 # <<< スワップファイル -rw------- 1 root wheel 1073741824 3 10 21:57 swapfile2 -rw------- 1 root wheel 1073741824 3 31 21:48 swapfile3
ページング方式の仮想記憶を使うとプログラムやデータを不連続な主記憶に割り付けることができます。
細切れのメモリ空間を連結して一つの連続した空間として利用したり、補助記憶装置(ハードディスクなど)上にも仮想的なメモリ領域を確保することで、物理メモリの容量を超えてメモリ空間を利用することができます。
アクセスしようとした領域が物理メモリではなく仮想メモリにある場合に発生する割り込み処理をページフォールトといいます。
- 英語 : page fault
ページング方式の仮想メモリにおいて、プロセスがアクセスしようとしたページが物理メモリ上に無く、仮想メモリにあるときに仮想メモリを管理する制御装置が発する例外あるいは割込処理をページフォールトといいます。
このページフォルトは、エラーっぽい名前だけれどとかでとか来た時に表示される通知やお知らせ的な存在です。
そのページフォルトをOSさんが検知して物理メモリに必要なページを読み込んでくれます。
リストラ的にページフレームを追い出すことをページアウトといいます。
- 別名 : スワップアウト
ページング方式では「プロセスが使ってる部分は物理メモリ、使ってない部分は仮想メモリを使う」「仮想メモリはページというカタマリで使われていく」、そして「使ってなかった部分を使うときは仮想メモリから物理メモリを使うようにする」ことがわかりました。
が、物理メモリが空いていればいいけど、空いていなかったらどうするんだろう?
物理メモリが空いていなかったら、どれかのページを追い出すんです!
どのページフレームを追い出すかってのはアルゴリズムによって違います。