吉林大学数据结构课件第三章中断与处理机调度概要.ppt
文本预览下载声明
第三章 中断与处理机调度 3.1 中断与中断系统 3.2 处理机调度 3.3 调度级别与多级调度 3.4 实时调度 3.5 多处理机调度 3.6 系统举例 3.1 中断与中断系统 3.1.1 中断的概念 3.1.2 中断装置 3.1.3 中断处理程序 3.1.1 中断的概念 处理机在运行过程中,出现了某一事件,必须中止正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。 中断系统: 中断装置(硬件) 中断处理程序(软件) 3.1.2 中断装置 发现并响应中断的硬件机构 识别中断源,当有多个中断源时,按紧迫程度排队; 保存现场; 引出中断处理程序。 中断响应和处理的过程 3.1.2.1 中断源与中断字 中断源 引起中断的事件。 中断寄存器 保存与中断事件相关信息的寄存器。 中断字 中断寄存器的内容。 例:IO中断:设备状态寄存器。 3.1.2.2 中断类型与中断向量 强迫性中断 运行程序不期望的 时钟中断 IO中断 控制台中断 硬件故障中断 power failure 内存校验错 程序性中断 越界,越权 缺页 溢出,除0 非法指令 自愿性中断 运行程序期望的 系统调用 访管指令 系统调用 fd=open(fname,mode) 访管指令 准备参数 svc n 取返回值 3.1.2.2 中断类型与中断向量 3.1.2.2 中断类型与中断向量 中断向量:中断处理程序的运行环境与入口地址(PSW,PC) 每类中断事件有一个中断向量, 中断向量的存放位置是由硬件规定的, 中断向量的内容是OS在系统初始化时设置好的。 3.1.2.2 中断类型与中断向量 3.1.2.3 中断嵌套与系统栈 一般原则: 高优先级别中断可以嵌入低优先级中断 实现方法: 中断响应后立即屏蔽不高于当前中断优先级的中断源。 3.1.2.3 中断嵌套与系统栈 3.1.2.3 中断嵌套与系统栈(Cont.) 3.1.2.3 中断嵌套与系统栈(Cont.) 3.1.2.4 中断优先级与中断屏蔽 中断优先级: 硬件规定的中断响应次序,依据: 紧迫程度; 处理时间。 中断屏蔽: 高优先级中断事件处理不受低优先级中断打扰; 程序调整中断响应次序。 3.1.3 中断处理程序 3.1.3 中断处理程序 3.1.3.1 IO中断处理 正常结束 继续传输; 唤醒相关进程。 传输错误 复执(eg. 3次); 报告系统操作员。 3.1.3.2 时钟中断处理 Housekeeping 进程管理 重新计算进程调度参数(eg. 动态优先数) 实现软时钟,启动定时程序 硬时钟5ms发生一次中断,软时钟50ms 如死锁检测 考虑进程切换 3.1.3.3 控制台中断处理 一个控制按钮,一个中断向量,一个中断处理程序。 3.1.3.4 硬件故障处理 电源故障处理 掉电: 内存,寄存器?外存 停止设备 停止处理机 恢复: 启动处理机 启动设备 外存?内存,寄存器 3.1.3.4 硬件故障处理(cont.) 内存故障处理 海明校验,奇偶校验错误 下雨检查 划出系统 报告操作员 3.1.3.5 程序性中断的处理 只能由操作系统处理的中断 影响系统或其它进程 越界,非法指令,(处理:终止进程、调试) 需要系统管理或协助 页故障,缺段,(处理:动态调入) 可以由用户自己处理的中断 不影响系统和其它进程 除0,溢出,(处理:用户处理,或OS处理) 应用程序自己处理中断 应用程序自行处理中断(Cont.) 图3-9(P47) 步骤: (1)发生溢出中断 (2)保存旧PSW和PC (3)取中断向量 (4)转到中断处理程序 (5)访问中断续元表(假定非0) (6)系统栈中现场转移到用户栈 (7)中断续元入口送寄存器(OS中断处理完成) (8)执行中断续元 (9)用户栈PSW和PC送寄存器 (10)返回中断断点 3.1.3.6 自愿性中断的处理 3.1.3.6 自愿性中断的处理 3.2 处理机调度 3.2.1 处理机调度算法 按什么原则分配 3.2.2 处理机调度时机 何时重新分配 3.2.3 处理机调度过程 如何完成分配 3.2.1 处理机调度算法 考虑因素(scheduling criteria) CPU利用率 ; (max) 吞吐量 ; (max) 周转时间 ; (min) 响应时间 ; (min) 系统开销 ; (min) 调度参数 CPU burst vs. I/O burst 阵发期 : CPU burst cycle: 进程(线程)使用CPU计算; I/O burst cycle: 进程(线程)使用设备I/O。 进程运行行为: CPU burst, I/O burst, CPU burst, I/O burst, …… CPU调度:考虑处于CPU burst进程集合 CP
显示全部