仮想アドレス空間は、特定のプロセスに割り当てられた RAM のセクションだと思いました。しかし、私が読んでいる本によると、仮想アドレス空間の標準的な制限は 4 GB です。それはRAMの全量ではありませんか?その場合、仮想アドレス空間とは何かについて混乱しています。誰でも私を啓発できますか?
1855 次
1 に答える
1
これが仮想アドレスの要点です。OS は物理メモリを処理し、プロセスは独自の仮想メモリを処理します。仮想メモリは、OS が使用できる任意のメモリ (RAM である必要はありません) にマップされます。
32 ビット オペレーティング システムでは、仮想アドレス空間 (VAS) は、おっしゃる通り、通常 4 GiB です。32 ビットは (2^32) アドレス (0 ... (2^32)-1) を与え、それぞれが 1 バイトをアドレス指定します。
物理 RAM を増減しても、実行中のプロセスごとに 4 GiB-VAS を使用できます。物理 RAM が少ない場合、OS は通常、ハードドライブにスワップします。
プロセスはこれを知る必要はなく、OS によって与えられた完全な VAS を使用でき、物理メモリを提供するのは OS の仕事です。
(これは、実際には VAS に関するウィキペディアの記事の単純化されたバージョンです。)
于 2013-10-25T11:00:25.307 に答える