缺页异常
缺页异常后需要硬件和操作系统配合工作,地址命中则只需要硬件参与
程序存储在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位,如下图。
标签:
linux 内核
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 什么是基带信号