来自维基百科:
The page table lookup may fail for two reasons. The first is if there is no translation available for the virtual address, meaning that virtual address is invalid.
此外,如果每个进程都有自己的页表,这意味着页表中的条目都会有一些从虚拟地址到物理地址的转换。那么页表条目无效是什么意思呢?如果条目存在,则意味着转换存在,因为条目不过是从虚拟地址到物理地址的映射。
最佳答案
恕我直言,维基百科条目并未处理所有情况。对于给定的虚拟地址,转换的第一步是找到相应的页表条目。
问题一:页表项可能根本不存在。操作系统可能会限制页表大小,使其不覆盖整个虚拟地址范围,并且指定的地址超出该范围。这也可能发生在并非所有级别都已填充的多级页表中。
问题2:页表项存在,但该页尚未映射到虚拟地址空间。
{前两个最有可能被归类为无效页表条目)
问题3:页面不在物理内存中[Page fault]。
问题 4:当前处理器模式不允许请求的访问类型。 例如,用户模式写入仅允许用户模式读取的页面; 内核模式执行到一个只允许读写的页面。
关于operating-system - 无效的页表条目是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26837356/