在我阅读维基百科的这篇文章works时,我偶然发现将虚拟地址空间(处理器使用的地址范围)划分为页面。但我了解到,只有物理内存(RAM)被划分为页面。那么,进程的虚拟地址空间的划分是如何完成的呢?
此外,在这里,虚拟地址空间的定义作为处理器使用的地址范围。处理器使用的地址范围是指处理器中地址总线的长度,对吗?那么,如果我有一个32位地址总线的处理器和4GB (2^32)的RAM,那么我的物理地址空间和虚拟地址空间是否相同?
如果这些问题太天真,请原谅我。我仍然没有得到一个非常清楚的可视化地址空间。提前谢谢。
发布于 2013-03-29 09:53:46
答案是针对每个操作系统的,但一般说来,这意味着尽管每个进程获得了32位的可寻址内存,但这个内存空间被划分为一定大小的范围或页面。
简单地说,当您的流程访问某个地址时,该位置将位于某个页面中。操作系统将确保有物理内存映射到该位置。但是,它可能不在物理内存中相同的地址中。
当其他进程处理该位置时,操作系统将映射到物理内存页面中,因此该位置也将是可寻址的。
物理内存页一直被映射到磁盘和磁盘(以便您的内存大于32位worth_\,并且虚拟内存页被映射到刚才描述的物理页)。
我真的推荐阅读这个问题https://stackoverflow.com/questions/1437914/best-book-on-operating-systems中的链接
https://stackoverflow.com/questions/15700704
复制相似问题