缺页异常

缺页异常后需要硬件和操作系统配合工作,地址命中则只需要硬件参与

 

 

程序存储在disk,在32位系统下,虚拟地址空间最大4G,但是不是每个地址都存储程序片段。上图左侧是一整个虚拟地址空间,没有程序片段的地址空间称为Unallocated;有程序片段,并且缓存到DRAM称为Cached;有程序片段但没有缓存到DRAM称为Uncached。

 

上图左侧是一个页表,如果是unallocated,在页表地址位就是Null;VP 3 和VP 6片段是Uncached,页表项的Valid位就是0,地址位就是disk地址;VP 1等片段是Cached,页表项的Valid位就是1,地址位就是PPN。

当CPU要访问PTE3对应的内容,发现其Valid位是0,CPU就会触发page fault exception,调用操作系统提供的page fault exception处理函数,把PTE3对应的VP 3搬移到DRAM,然后更新PTE3的Valid位,如下图。

 

posted @   流水灯  阅读(119)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2016-12-14 Raspberry Pi 3 --- GPIO control
2016-12-14 Altium Designer 15 --- 贴片焊盘不开钢网设置
2016-12-14 什么是基带信号
点击右上角即可分享
微信分享提示