質問: 仮想メモリと仮想アドレス空間 仮想メモリは、コンピュータがramの一部を実行中のプロセスのハードディスクに保存するために使用するページングファイルです。しかし、仮想アドレス空間はどのように異なりますか?ramまたはハードディスク、あるいはその両方?
回答: 仮想アドレス空間は、プログラムがアドレス指定できるメモリのサイズに対する制限です。これは、ポインターのスタイルによって外側の境界で制約されます。純粋な32ビットポインターは、理論的には4gbの仮想空間をアドレス指定できます。実際の境界は、アドレス空間とユーザー空間のかなりの部分を使用するため、オペレーティングシステムの設計に依存します。win32では、デフォルト設定では、ユーザースペースとして2gbの仮想アドレススペースが許可されています。64ビットポインタははるかに多くのアドレスを指定できます。実際には通常48ビットが許可されており、 このスーパーユーザーの回答 に関する詳細がたくさんあります。理論的には、誰かが十分なramで、2gbのユーザースペースを物理メモリに直接マッピングできる(おそらく少なくとも3gbの物理が必要))物理コンピューターを構築できるため、32ビットプロセスが必要になります。仮想メモリはあまり仮想的ではありませんでした。