页命中与缺页

页命中发生在CPU访问的虚拟页其PTE有效位为1时,说明该页已在物理内存中。MMU直接使用PTE中的PPN与页内偏移(VPO)拼接,快速生成物理地址完成访问。

缺页(Page Fault) 发生在PTE有效位为0的情况下。此时MMU无法完成翻译,触发缺页异常,控制权转交给操作系统内核的缺页处理程序。

缺页处理流程

  1. 内核选择一个牺牲页(即物理内存中即将被替换的页)。
  2. 若牺牲页曾被修改(脏页),需先将其写回磁盘。
  3. 内核从磁盘加载所需的虚拟页到物理内存中,更新该页的PTE(有效位置1,PPN更新)。
  4. 缺页处理程序返回,重新执行触发缺页的那条指令。

缺页机制使得物理内存得以被有效共享和复用,是虚拟内存实现”比物理内存更大的地址空间”的基础。

链接到