吉林大学综合(操作系统和计算机网络;上机考试:高级语言程序设计)中断与处理机调度
VIP专享
第三章 中断与处理机调度
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.)
● 系统栈
● 位置由硬件确定;
● 被中断程序的PSW和PC由硬件中断装置压⼊系统栈;
● 中断处理程序保存其它现场信息。
…………
PSW1,PC1
PSW2,PC2
管 态
……
PSW2,PC2
中断
返回
栈顶
指针
............
PSWk-1,PCk-1
……
PSWk,PCk
管 态
中断
……..
中断
返回
……
PSW1,PC1
⽬ 态
中断嵌套与系统栈示意图 系统栈
4. 中断优先级别与中断屏蔽
●中断优先级别
根据引起中断的重要性和紧迫程度,硬件将中断源分为若⼲个级别,
称作中断优先级别。
●硬件规定的中断响应次序
●先响应优先级别⾼的中断请求;
●优先级别相同的,硬件按系统规定好的次序响应。
●中断屏蔽
● ⾼优先级中断事件处理不受低优先级中断打扰;
● 中断优先级是由硬件规定的,级别不能改变;
但程序可以通过中断屏蔽调整中断响应次序。
3.1.2 中断装置(Cont.)
中断处理流程
关中断
进⼀步保存中断现场到系统栈
强迫性中断
⾃愿性中断 按中断优先级从中断字中析出中断位,确定中断号取调⽤号
Y
N
按调⽤号或中断号取中断向量:PSW、PC
中断处理程序:开放⾼优先级中断;中断处理(如有被唤醒进程,则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), ⼊就绪队列
相关推荐
-
北京工业大学812材料力学2021年真题VIP专享
2025-12-29 999+ -
北京工业大学812材料力学2022年真题VIP专享
2025-12-29 999+ -
北京工业大学822信息与系统2021年真题答案VIP专享
2025-12-29 999+ -
北京工业大学822信息与系统2022年真题VIP专享
2025-12-29 999+ -
河南理工大学801安全系统工程2021年真题答案
2026-01-14 999+ -
河南理工大学801安全系统工程2022年真题答案
2026-01-14 999+ -
河南理工大学801安全系统工程2022年真题回忆版
2026-01-14 999+ -
河南理工大学828机械设计基础2022年真题
2026-01-14 999+ -
河南理工大学828机械设计基础2022年真题答案
2026-01-14 999+ -
河南理工大学844电路理论2022年真题答案
2026-01-14 999+
作者:北木在北
分类:考研考博类
价格:3知币
属性:126 页
大小:6.58MB
格式:PDF
时间:2025-12-31
相关内容
-
河南理工大学801安全系统工程2022年真题答案
分类:考研考博类
时间:2026-01-14
标签:真题
格式:PDF
价格:3 知币
-
河南理工大学801安全系统工程2022年真题回忆版
分类:考研考博类
时间:2026-01-14
标签:真题
格式:PDF
价格:3 知币
-
河南理工大学828机械设计基础2022年真题
分类:考研考博类
时间:2026-01-14
标签:真题
格式:PDF
价格:3 知币
-
河南理工大学828机械设计基础2022年真题答案
分类:考研考博类
时间:2026-01-14
标签:真题
格式:PDF
价格:3 知币
-
河南理工大学844电路理论2022年真题答案
分类:考研考博类
时间:2026-01-14
标签:真题
格式:PDF
价格:3 知币

