缺页导致页面出错 (缺页异常)
缺页异常处理程序选择一个牺牲页 (此例中就是 VP 4)
导致缺页的指令重新启动:页面命中

关键点:当有不命中发生时才换页面的这种策略称之为:页面调度
所谓牺牲页,就是把磁盘内的虚拟内存混存到物理内存再读取的时候,顶替掉的那个
这里先来找 vp3 有效位为 0,说明缺页,于是出发缺页异常处理程序,去磁盘中找到 vp3 靠背到物理内存中来再读
物理内存此时已满,通过某种算法,顶替掉了其中的 vp4,牺牲它,换成 vp3
地址翻译:缺页异常

- 处理器将虚拟地址发送给 MMU
- 2-3) MMU 使用内存中的页表生成PTE地址
- 有效位为零, 因此 MMU 触发缺页异常
- 缺页处理程序确定物理内存中牺牲页 (若页面被修改,则换出到磁盘)
- 缺页处理程序调入新的页面,并更新内存中的PTE
- 缺页处理程序返回到原来进程,再次执行缺页的指令
linux 缺页处理

- 段错误
- 访问一个不存在的页面
- 正常缺页
- 保护异常
- 例如,违反许可,写一个只读的页面(Linux 报告 Segmentation fault)