缺页中断&页缺失

缺页中断是当进程尝试访问未在内存中的页面时,由CPU的内存管理单元引发的中断。操作系统会处理这个中断,尝试将所需页面从磁盘调入内存,或者在无效访问时终止进程。中断处理包括保护现场、分析原因、调用处理程序及恢复现场。一条指令可能产生多次缺页中断,并在处理后重新执行该指令。
摘要由CSDN通过智能技术生成

概念

  • 缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。在这个时候,被内存映射的文件实际上成了一个分页交换文件。

页缺失

  • 页缺失(缺页中断)指的是当软件试图访问已映射在虚拟地址空间中,但是并未被加载在物理内存中的一个分页时,由中央处理器的内存管理单元所发出的中断。

  • 通常情况下,用于处理此中断的程序是操作系统的一部分。如果操作系统判断此次访问是有效的,那么操作系统会尝试将相关的分页从硬盘上的虚拟内存文件中调入内存。而如果访问是不被允许的,那么操作系统通常会结束相关的进程。

中断

  • 是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。

缺页中断的次数

  • 中断次数=进程的物理块数+页面置换次数

缺页中断

  • 缺页本身是一种中断,与一般的中断一样,需要经过4个处理步骤:
      1. 保护CPU现场
      2. 分析中断原因
      3. 转入缺页中断处理程序进行处理
      4. 恢复CPU现场,继续执行
  • 但是缺页中断时由于所要访问的页面不存在与内存时,有硬件所产生的一种特殊的中断,因此,与一般的中断存在区别:
       1. 在指令执行期间产生和处理缺页中断信号
       2. 一条指令在执行期间,可能产生多次缺页中断
       3. 缺页中断返回时,执行产生中断的那一条指令,而一般的中断返回时,执行下一条指令

什么时候发生缺页中断

进程线性地址空间里的页面不必常驻内存,在执行一条指令时,如果发现他要访问的页没有在内存中(存在位为0),那么停止该指令的执行,并产生一个页不存在异常,对应的故障处理程序可通过从外存加载该页到内存的方法来排除故障,之后,原先引起的异常的指令就可以继续执行,而不再产生异常。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值