操作系统—(35)缺页中断与缺页中断处理过程

  • Post author:
  • Post category:其他

1. 缺页中断

在这里插入图片描述

2. 缺页中断的断点

在这里插入图片描述
缺页中断是指令执行过程中产生的中断,而非(一般的中断)在一条指令执行完成后产生的。

3. 缺页中断的断点压入

  • 当CPU执行指令希望访问一个不在内存的页面时,将产生缺页中断,系统开始运行中断处理程序。
  • 此时指令计数器(PC) 的值尚未来得及增加就被压入堆栈,因此压入的断点必然是本次被中断的指令地址,而非下一条指令的地址。

4. 缺页中断处理过程

(1) 保留进程上下文
(2)判断内存是否有空闲可用帧?若有,则获取一个帧号No,转(4) 启动I/O过程。若无,继续(3)
(3)腾出一个空闲帧,即:
(3)-1调用置换算法,选择一个淘汰页PTj。
(3)-2 PTj(S)=0 ; //驻留位置0
(3)-3 No= PTj (F); //取该页帧号
(3)-4 若该页曾修改过,则
(3)-4-1 请求外存交换区上一个空闲块B ;
(3)-4-2 PTj(D)=B ;//记录外存地址
(3)-4-3启动I/O管理程序,将该页写到外存上。
(4)按页表中提供的缺页外存位置,启动I/O,将缺页装入空闲帧No中。
(5)修改页表中该页的驻留位和内存地址。PTi(S)=1 ; PTi(F) =No。
(6)结束。

5.包含缺页中断的地址重定位

在这里插入图片描述


版权声明:本文为qq_43101637原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。