Waf*_*les 0 x86 operating-system osdev virtual-memory page-tables
这是否意味着引用的页面位于进程的逻辑地址空间内?我在想也许引用的页面是内存驻留的?
页表是一种依赖于硬件的数据结构。您需要阅读 CPU 或 MMU(如果它与 CPU 分离)的文档,了解这些位的含义。
在 x86 上(我怀疑你的意思是),“present”位意味着页表条目的其余部分包含 CPU 应该读取的有效数据。如果当前位未设置,则 CPU 不关心其余位,因此由操作系统赋予它们含义。大多数操作系统不会在 PTE 的其余部分存储任何相关内容,因此在大多数操作系统上,当未设置当前位时,PTE 的其余部分只是垃圾。较旧的操作系统存储有关换出页面最终位于哪个交换块的信息,但如今您需要更多的分页信息,而 PTE 无法容纳,而我们喜欢在独立于硬件的代码中完成此操作,因此很少这样做。