3

来自维基百科:

页表查找失败可能有两个原因。第一个是如果虚拟地址没有可用的转换,这意味着虚拟地址无效。

此外,如果每个进程都有自己的页表,这意味着页表中的条目都会有一些从虚拟地址到物理地址的转换。那么页表条目无效是什么意思呢?如果条目存在,则表示翻译存在,因为条目不过是从虚拟地址到物理地址的映射。

4

1 回答 1

5

恕我直言,维基百科条目并不处理所有情况。对于给定的虚拟地址,转换的第一步是找到相应的页表条目。

问题一:页表项可能根本不存在。操作系统可能会限制页表大小,使其不覆盖整个虚拟地址范围,并且指定的地址超出该范围。这也可能发生在未填写所有级别的多级页表中。

问题2:页表项存在,但该页没有映射到虚拟地址空间。

{前两个最有可能被归类为无效页表条目)

问题3:页面不在物理内存中[Page fault]。

问题 4:请求的访问类型在当前处理器模式下是不允许的。例如,用户模式写入只允许用户模式读取的页面;内核模式执行到只允许读写的页面。

于 2014-11-10T19:19:06.830 回答