第三章 中断与处理机调度
中断与中断系统
中断的概念
处理机在运行过程中,出现了某一事件,必须中止正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。
中断装置
发现并响应中断的硬件机构
- 识别中断源,当有多个中断源时,按紧迫程度排队;
- 保存现场;
- 引出中断处理程序。
中断源
引起中断的事件。
中断字
中断寄存器的内容。
强迫性中断
运行程序不期望的
- 时钟中断
- IO中断
- 控制台中断
- 硬件故障中断
-power failure
-内存校验错 - 程序性中断
-越界,越权
-缺页
-溢出,除0
-非法指令
自愿性中断
运行程序期望的
-
系统调用
-fd=open(fname,mode) -
访管指令
-准备参数
-svc n
-取返回值
中断向量
中断向量:中断处理程序的运行环境与入口地址(PSW,PC)
- 每类中断事件有一个中断向量,
- 中断向量的存放位置是由硬件规定的,
- 中断向量的内容是OS在系统初始化时设置好的。
中断嵌套
-
一般原则:
高优先级别中断可以嵌入低优先级中断 -
实现方法:
中断响应后立即屏蔽不高于当前中断优先级的中断源。
系统栈
中断优先级
硬件规定的中断响应次序,依据:
- 紧迫程度;
- 处理时间。
中断屏蔽
- 高优先级中断事件处理不受低优先级中断打扰;
- 程序调整中断响应次序。
中断处理程序
考虑系统状态的进程状态转化图
程序性中断
只能由操作系统处理的中断
- 影响系统或其它进程
越界,非法指令,(处理:终止进程、调试) - 需要系统管理或协助
页故障,缺段,(处理:动态调入)
可以由用户自己处理的中断
- 不影响系统和其它进程
除0,溢出,(处理:用户处理,或OS处理)
处理机调度
考虑因素
考虑因素(scheduling criteria)
- CPU利用率 ; (max)
- 吞吐量 ; (max)
- 周转时间 ; (min)
- 响应时间 ; (min)
- 系统开销 ; (min)
调度参数
- 周转时间:完成时间-进入时间
T = t f − t s T=t_f-t_s T=tf−ts - 平均周转时间:周转时间的平均值
T ‾ = 1 n ( ∑ i = 1 n T i ) \overline T=\frac{1}{n} (\sum\limits_{i=1}^{n}T_i) T=n1(i=1∑nTi) - 带权周转时间:周转时间/运行时间
W = T R W=\frac{T}{R} W=RT