0

当我阅读这篇 Wikipedia 文章http://en.wikipedia.org/wiki/Memory_management_unit#How_it_works时,我遇到了将虚拟地址空间(处理器使用的地址范围)划分为页面。但我了解到只有物理内存(RAM)被分成页面。那么进程的虚拟地址空间是如何划分的呢?

此外,这里虚拟地址空间的定义是处理器使用的地址范围。处理器使用的地址范围是指处理器中地址总线的长度,对吗?因此,如果我有一个 32 位地址总线的处理器和一个 4 GB (2^32) 的 RAM,我的物理地址空间和虚拟地址空间是否相同?

如果问题太天真,请耐心等待。我仍然没有得到非常清晰的地址空间可视化。提前致谢。

4

1 回答 1

1

答案是针对每个操作系统的,但一般来说,这意味着虽然每个进程都获得了价值 32 位的可寻址内存,但该内存空间被划分为一定大小的范围或页面。

简单地说,当您的进程访问地址时,该位置将位于某个页面中。操作系统将确保存在映射到该位置的物理内存。但是它可能不在物理内存中的相同地址中。

当一些其他进程寻址该位置时,操作系统将映射到物理内存的页面中,以便该位置也可以寻址。

物理内存页面一直被映射到磁盘和从磁盘映射(以便您可以拥有大于 32 位的内存值_\,并且虚拟内存页面被映射到刚刚描述的物理页面。

我真的建议阅读这个问题中的链接https://stackoverflow.com/questions/1437914/best-book-on-operating-systems

于 2013-03-29T09:53:46.193 回答