Operating system 无效的页表条目是什么意思?

Operating system 无效的页表条目是什么意思?,operating-system,cpu-architecture,virtual-memory,tlb,Operating System,Cpu Architecture,Virtual Memory,Tlb,来自维基百科: 由于两个原因,页表查找可能失败。第一个是虚拟地址没有可用的转换,这意味着虚拟地址无效 此外,如果每个进程都有自己的页表,这意味着页表中的条目都有从虚拟地址到物理地址的转换。那么,页表条目无效意味着什么?如果条目存在,则意味着翻译存在,因为条目只是从虚拟地址到物理地址的映射。IMHO,Wikipedia条目并不处理所有情况。对于给定的虚拟地址,转换的第一步是找到相应的页表条目 问题1:页表条目可能根本不存在。操作系统可能会限制页表大小,使其不覆盖整个虚拟地址范围,并且指定的地址超出

来自维基百科:

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


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

IMHO,Wikipedia条目并不处理所有情况。对于给定的虚拟地址,转换的第一步是找到相应的页表条目

问题1:页表条目可能根本不存在。操作系统可能会限制页表大小,使其不覆盖整个虚拟地址范围,并且指定的地址超出该范围。对于并非所有级别都已填写的多级页面表,也可能出现这种情况

问题2:页表条目存在,但页尚未映射到虚拟地址空间

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

问题3:页面不在物理内存中[页面错误]

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

从章节中删去的。本文讨论了虚拟地址无效。页表条目无效。此外,进程具有自己的页表并不意味着页面表覆盖整个页面。(可能非常大)虚拟内存。还表示“。当进程试图访问未映射到任何物理内存的虚拟内存区域时,会导致页面错误异常…”PTE格式通常有一个有效位,指示转换有效(可以使用其他机制,如拒绝所有权限;单个有效位更简单,允许操作系统使用PTE的其余部分存储信息)。PTE的存在并不意味着翻译是有效的。这个问题可能存在,但我不知道它的措辞是否正确。如果一个页面有一个页面表条目,这不是给了它一个虚拟地址吗?(问题2)问题是有一个页面表条目意味着什么?页面表条目是否只有一个可用的插槽,或者表格是否已填充?如果是前者,您可以有一个逻辑页面的页面表条目,但没有相应的虚拟页面。这实际上是怎么发生的呢?假设操作系统有一个线性页面表。假设系统tem参数/流程配额让操作系统最初创建一个包含10000个条目的页面表。因此,现在您有10000个条目,但没有映射到它们。当流程从操作系统请求页面时,操作系统将填充这些条目。我同意您的看法,但我们的假设是如何实现它们的