0

このウィキペディアの記事http://en.wikipedia.org/wiki/Memory_management_unit#How_it_worksを読んでいるときに、仮想アドレス空間 (プロセッサが使用するアドレスの範囲) をページに分割することに出くわしました。しかし、物理メモリ (RAM) だけがページに分割されていることを知りました。では、プロセスの仮想アドレス空間の分割はどのように行われるのでしょうか?

また、ここでの仮想アドレス空間の定義は、プロセッサが使用するアドレスの範囲として行われます。プロセッサが使用するアドレスの範囲は、プロセッサ内のアドレスバスの長さを意味しますよね? では、アドレス バスが 32 ビットのプロセッサと 4 GB (2^32) の RAM を使用している場合、物理アドレス空間と仮想アドレス空間は同じですか?

質問が素朴すぎる場合はご容赦ください。アドレス空間の明確な視覚化はまだ得られていません。前もって感謝します。

4

1 に答える 1

1

答えは各OSに固有ですが、一般的に言えば、各プロセスは32ビット相当のアドレス可能なメモリを取得しますが、このメモリ空間は特定のサイズの範囲またはページに分割されます.

簡単に言えば、プロセスがアドレスにアクセスするとき、その場所は特定のページになります。OS は、その場所にマップされている物理メモリがあることを確認します。ただし、物理 RAM の同じアドレスにない場合があります。

他のプロセスがその場所にアドレス指定すると、OS はその場所の物理 RAM のページにマップするため、その場所もアドレス指定可能になります。

常に物理メモリ ページがディスクとの間でマップされているため (32 ビット以上のメモリを使用できるように_\、仮想メモリ ページは前述の物理ページにマップされています。

この質問のリンクを読むことを本当にお勧めしますhttps://stackoverflow.com/questions/1437914/best-book-on-operating-systems

于 2013-03-29T09:53:46.193 に答える