《操作系统 - 清华大学》5 -5:缺页异常

1. 缺页异常的处理流程

在这里插入图片描述

缺页中断的处理过程:

  1. CPU读内存单元,在TLB中根据其虚拟地址匹配物理地址,未命中,读页表;

  2. 由于页表项的存在位为0,CPU产生缺页异常

  3. OS 查找到保存在外存中对应的应用的页面内容;

  4. 如有空闲物理页帧,把外存中的页面内容换入到某空闲物理页帧中;

  5. 如无空闲物理页帧,通过置换算法释放/换出某物理页帧到外存,再把外存中的页面内容换入到某空闲物理页帧中;

    所谓清空需要注意,如果里面的数据被修改过,把这数据还写回硬盘中,如果没有被修改,直接给它释放了,因为和硬盘中对应的那个数据是一样的,没必要再写回,它已经是最新的,这时候把这个页从被使用状态变成空闲状态,再完成从硬盘把相应数据读进来,然后设置页表项,然后再重新执行这一过程。

  6. 修改页表项,建立虚拟页到物理页帧的映射,存在位置1;

  7. OS返回到应用程序,让处理器重新执行产生缺页异常的读内存单元指令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值