ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
論理的なアドレス空間を、物理メモリーアドレス空間に対応させる、メモリー管理技術の一つ。
メモリー空間を適当なサイズで分割し、それぞれをページとして扱う手法をページングという。
必要に応じて、仮想メモリー空間に物理メモリー空間を割り当てて使用する。物理メモリーが不足したら、その物理メモリーの内容を補助記憶装置(ハードディスクドライブなど)に退避し、その仮想メモリーのページには物理メモリーの割り当てがないマークを付ける。これを「ページアウト」という。
逆に、一旦ページアウトしたものが必要になった場合は、空いた物理メモリーに補助記憶装置から読みだし、再び仮想メモリーのページに当該の物理メモリーアドレスを割り当てる。れを「ページイン」という。
仮想記憶がない場合は、プログラムから見えるアドレスは、CPUのメモリーバスのアドレス、つまり物理アドレスと一対一で対応している。
しかし仮想記憶が有効の場合、プログラムから見えるアドレスは物理アドレスではなく仮想アドレスとなる。アドレスの長さ(32ビットMPUなら32ビット長、64ビットMPUなら64ビット長)自体は変わらないが、その長さをある程度で区切り、ページ番号を指す部位と、そのページ内のオフセットを分ける、という方法を採ることが多い。
例えばx86(32ビット)の場合、アドレス32ビット中の上位10ビットはページディレクトリーの番号(1024エントリー)、中間の10ビットはページテーブルを表わす番号(1024エントリー)として使い、この20ビットからテーブルを参照することで32ビット長の物理メモリーアドレスを作りだし、残る下位12ビットをオフセットとして使って1ページ4Kiバイトの空間として使えるようになっている(32ビットWindowsではほぼ使われていないPAEが有効の場合は若干仕様が異なる)。
ページディレクトリーやページテーブルはCPU内に設定するための領域があり、OSが必要に応じて書き換えることで、適時必要となる仮想記憶の処理を実施することになる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます