仮想アドレス空間は RAM ではありません。アドレス空間です。それぞれpage
(ページのサイズはシステムによって異なります) はマップ解除 (ページはどこにもアクセスできず、存在しません)、ファイルにマップ (ページは直接アクセスできず、そのコンテンツはディスクに保存されます) することができます。 RAM にマップされます (実際にアクセスできるページです)。
RAM にマップされたページは、スワップ可能または固定できます。固定されたページがディスクにスワップ アウトされることはありません。スワップ可能なページはディスク上の領域に関連付けられており、その領域に書き込まれて、使用している RAM を解放できます。
RAM にマップされたページは、読み取り専用、書き込み専用、読み取り書き込みも可能です。それらが書き込み可能である場合、直接書き込み可能またはコピーオンライトである可能性があります。
複数のページ (同じアドレス空間内と別のアドレス空間の両方) を同じようにマップできます。これは、2 つの別個のプロセスがメモリ内の同じデータにアクセスする方法です (各プロセスの異なるアドレスで発生する可能性があります)。
最新のオペレーティング システムでは、各プロセスに独自のアドレス空間があります。32 ビット オペレーティング システムでは、各プロセスに 4GiB のアドレス空間があります。64 ビット オペレーティング システムでは、32 ビット プロセスにはまだ 4GiB (4 ギガバイト) のアドレス空間しかありませんが、64 ビット プロセスにはそれ以上のアドレス空間がある場合があります。一般に、それらは 18 EiB (18 exabinary バイト、つまり 18,874,368 TiB) を持っています。
アドレス空間のサイズは、RAM メモリの量と実際に割り当てられた空間の量の両方から完全に独立しています。1 ギガバイトの RAM を搭載したマシン上で、それぞれ 18 EiB のアドレス空間を持つ 100 のプロセスを持つことができます。実際、Windows は、典型的なマシンが数メガバイトまたは RAM しか持っていなかった時代から、各プロセスに 4GiB のアドレス空間を与えてきました。