吉林大学综合(操作系统和计算机网络;上机考试:高级语言程序设计)中断与处理机调度

VIP专享
3.0 北木在北 2025-12-31 999+ 6.58MB 126 页 3知币 海报
侵权投诉
第三章 中断与处理机调度
3.1 中断与中断系统
3.2 处理机调度
3.3 调度级别与多级调度
3.4 实时调度
3.5 多处理机调度
3.5 系统举例
操作系统是中断
驱动的!
Interrupt driven
3.1 中断与中断系统
3.1.1 中断的概念
3.1.2 中断装置
3.1.3 中断处理程序
3.1.1 中断的概念
定 义:
 程序在运⾏过程中出现某种紧急事件,
 必须中⽌正在运⾏的程序,转去处理这个事件,
 然后再恢复原来运⾏的程序,
 这⼀过程称为中断
中断系统:
中断装置(硬件)
中断处理程序(软件)
不⻅得是原来的程序
3.1.2 中断装置
定 义:
发现并响应中断的硬件机构。
⼯作步骤:
识别中断源,当有多个中断源时,
  按紧迫程度排队;
保存现场: (PSW, PC)=>系统栈;
引出中断处理程序。
3.1.2 中断装置(Cont.)
正运⾏的程序
中断响应和处理的过程
HAL
OS
系统栈
…………..
…………..
…………..
top
中断发⽣
PSW, PC
psw, pc
中断
处理程序
(psw’, pc’)
pc’
1. 中断源与中断字
中断源:引起中断的事件。
中断寄存器
保存与中断事件相关信息的寄存器。
中断字
中断寄存器的内容。
例:I/O中断:设备状态寄存器。
3.1.2 中断装置(Cont.)
2. 中断类型与中断向量
强迫性中断:
 运⾏程序不期望的
时钟中断
I/O中断
控制台中断
硬件故障中断
power failure
内存校验错
程序错误中断
越界,越权,缺⻚/
 溢出,除0
 ⾮法指令(特权指令)
⾃愿性中断:
运⾏程序期望的
系统调
fd=open(fname,mode)
访管指令
准备参数
svc n
取返回值
3.1.2 中断装置(Cont.)
内部中断
正在运⾏
程序
访管指令
中断装置
中断处理程序
⾃愿性中断:
SVC n
trap n
中断装置
中断处理程序
时钟中断
I/O中断
控制台中断
硬件故障中断
程序错误中断
强迫性中断:
正在运⾏
程序
3.1.2 中断装置(Cont.)
中断向量:中断处理程序的运⾏环境与
        ⼊⼝地址(PSW, PC)
每类中断事件有⼀个中断向量;
中断向量存放在内存的固定单元
中断向量的内容是OS系统初始化时设置好的
中断向量mode应为系统态
3.1.2 中断装置(Cont.)
PSW1, PC1 时钟中断向量
PSW2, PC2 I/O中断向量
PSW3, PC3 console中断向量
PSW4, PC4 硬件故障中断向量
PSW5, PC5 程序错误中断向量
… …
PSWn, PCn 访管中断向量
0000
0008
0016
0024
0032
0090
时钟中断
处理程序
PC1:
I/O中断
处理程序
PC2:
访管中断
处理程序
PCn:
中断向量表(系统空间)
3.1.2 中断装置(Cont.)
通常,中断向量⻓度为定⻓ L 字节,
  中断向量地址=中断号×L
3. 中断嵌套与系统栈
中断嵌套:
中断处理过程中⼜响应了新的中断。
⼀般原则:
⾼优先级别中断可以嵌⼊低优先级中断;
因此,中断嵌套层数不会超过中断优先级的个数。
实现⽅法:
中断响应后
⽴即屏蔽不⾼于当前中断优先级的中断源。
3.1.2 中断装置(Cont.)
中断响应后⼀般需要进⼀步保存现场
关中断(屏蔽所有中断)
进⼀步保存现场(通⽤寄存器等)
开中断(或开放⾼优先级中断)
…...
中断处理
…...
关中断(屏蔽所有中断)
恢复现场
开中断
中断返回
3.1.2.3 中断嵌套与系统栈(Cont.)
中断处理程序
返回
3.1.2.3 中断嵌套与系统栈(Cont.)
系统栈
位置由硬件确定;
被中断程序PSWPC由硬件中断装置压⼊系统栈;
中断处理程序保存其它现场信息。
…………
PSW1,PC1
PSW2,PC2
管 态
……
PSW2,PC2
中断
返回
栈顶
指针
............
PSWk-1,PCk-1
……
PSWk,PCk
管 态
中断
……..
中断
返回
……
PSW1,PC1
⽬ 态
中断嵌套与系统栈示意图 系统栈
4. 中断优先级别与中断屏蔽
中断优先级别
 根据引起中断的重要性和紧迫程度,硬件将中断源分为若⼲个级别,
称作中断优先级别
硬件规定的中断响应次序
先响应优先级别⾼的中断请求;
优先级别相同的,硬件按系统规定好的次序响应。
中断屏蔽
⾼优先级中断事件处理不受低优先级中断打扰;
中断优先级是由硬件规定的,级别不能改变;
  但程序可以通过中断屏蔽调整中断响应次序。
3.1.2 中断装置(Cont.)
中断处理流程
关中断
进⼀步保存中断现场到系统栈
强迫性中断
⾃愿性中断 按中断优先级从中断字中析出中断位,确定中断号取调⽤号
Y
N
按调⽤号或中断号取中断向量:PSWPC
中断处理程序:开放⾼优先级中断;中断处理(如有被唤醒进程,则PCB进就绪队列)
嵌套中断
关中断
由系统栈恢复外⼀层中断现场
Y
N
进程终⽌ Y
收回资源;清除终⽌进程系统栈内容;撤销PCB
(⾃愿性中断)进程等待 Y
N
由系统栈保存等待进程现场PCB
PCB进等待队列。
唤醒进程 剥夺
Y
N
由系统栈保存下降进程现场到PCB
PCB进就绪队列。
Y
由系统栈恢复现场
NN
⽬态程序
Dispatcher确定上升进程PCB,由PCB恢复上升进程现场
进程切换
3.1.3 中断处理程序
管态程序:外层中
3.1.3 中断处理程序(Cont.)
终⽌
运⾏
kernel
等待
就绪
运⾏
user
建 事件发⽣
调度选中
嵌套返回
考虑系统状态的进程状态转换
运⾏
user
运⾏
kernel
等待
就绪
创建
终⽌
考虑系统状态的进程状态转换图
建⽴PCB, 分配必要资源,初始化PCB(地址映射寄存器,
PSW, PC=0, SP=栈底, regs=0, fregs=0), ⼊就绪队列
吉林大学综合(操作系统和计算机网络;上机考试:高级语言程序设计)中断与处理机调度.pdf

共126页,预览2页

还剩页未读, 继续阅读

作者:北木在北 分类:考研考博类 价格:3知币 属性:126 页 大小:6.58MB 格式:PDF 时间:2025-12-31

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 126
客服
关注