第3章 中断与处理机调度.ppt
《第3章 中断与处理机调度.ppt》由会员分享,可在线阅读,更多相关《第3章 中断与处理机调度.ppt(84页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、计算机操作系统教程(第2 版)第三章 中断与处理机调度 3.1 中断与中断系统 3.2 处理机调度 3.3 调度级别与多级调度 3.4 实时调度 3.5 多处理机调度 3.6 系统举例 操作系统是中断驱动的!Interrupt driven1计算机操作系统教程(第2 版)3.1 中断与中断系统 3.1.1 中断的概念 3.1.2 中断装置 3.1.3 中断处理程序2计算机操作系统教程(第2 版)3.1.1 中断的概念 定义:处理机在运行过程中,出现了某一事件,必须中止正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。中断系统:中断装置(硬件)中断处理程序(软件)3计
2、算机操作系统教程(第2 版)3.1.2 中断装置 发现并响应中断的硬件机构 识别中断源,当有多个中断源时,按紧迫程度排队;保存现场;引出中断处理程序。4计算机操作系统教程(第2 版)中断响应和处理的过程正运行程序 1 6处理程序 4PSW,PCPC:PSW,PC系统桟psw,pc.2 53硬件OS5计算机操作系统教程(第2 版)3.1.2.1 中断源与中断字 中断源 引起中断的事件。中断寄存器 保存与中断事件相关信息的寄存器。中断字 中断寄存器的内容。例:IO 中断:设备状态寄存器。6计算机操作系统教程(第2 版)3.1.2.2 中断类型与中断向量 强迫性中断 运行程序不期望的 时钟中断 IO
3、 中断 控制台中断 硬件故障中断 power failure 内存校验错 程序性中断 越界,越权,缺页 溢出,除0 非法指令 自愿性中断 运行程序期望的 系统调用 访管指令!系统调用 fd=open(fname,mode)!访管指令 准备参数 svc n(访管指令)取返回值7计算机操作系统教程(第2 版)3.1.2.2 中断类型与中断向量中断装置 中断处 理程序运行程序访管指令运行程序中断装置 中断处 理程序clockIOconsolepower failuremalfunction强迫中断:自愿中断:SVC ntrap n8计算机操作系统教程(第2 版)3.1.2.2 中断类型与中断向量 中
4、断向量:中断处理程序的运行环境与入口地址(PSW,PC)每类中断事件有一个中断向量,中断向量的存放位置是由硬件规定的,中断向量的内容是OS 在系统初始化时设置好的。中断向量mode 应为系统态9计算机操作系统教程(第2 版)3.1.2.2 中断类型与中断向量PSW1,PC1 时钟中断向量PSW2,PC2 I/O 中断向量PSW3,PC3 console 中断向量PSW4,PC4 硬件故障PSW5,PC5 程序错误 PSWn,PCn 访管中断向量00000008001600240030 0090时钟中断处理程序PC1:I/O 中断处理程序PC2:访管中断处理程序PCn:系统空间10计算机操作系统
5、教程(第2 版)3.1.2.3 中断嵌套与系统栈 一般原则:高优先级别中断可以嵌入低优先级中断 实现方法:中断响应后立即屏蔽不高于当前中断优先级的中断源。11计算机操作系统教程(第2 版)3.1.2.3 中断嵌套与系统栈进入中断后一般需要进一步保存现场 进入中断后一般需要进一步保存现场 关中断(屏蔽所有中断)进一步保存现场(地址寄存器,通用寄存器等)开中断(或开放高优先级中断).中断处理.恢复现场 中断返回12计算机操作系统教程(第2 版)3.1.2.3 中断嵌套与系统栈(Cont.)目态PSW1:PC1管态PSW2:PC2管态PSWn:PCn中断嵌套:13计算机操作系统教程(第2 版)3.1
6、.2.3 中断嵌套与系统栈(Cont.)PSWn-1 PCn-1PSW2 PC2PSW1 PC1栈顶指针:系统栈:14计算机操作系统教程(第2 版)3.1.2.4 中断优先级与中断屏蔽 中断优先级:硬件规定的中断响应次序,依据:紧迫程度;处理时间。中断屏蔽:高优先级中断事件处理不受低优先级中断打扰;程序调整中断响应次序。15计算机操作系统教程(第2 版)3.1.3 中断处理程序强迫性中断:自愿性中断:转中断处理程序 是否嵌套中断由系统栈恢复现场 需要切换进程 返回上层中断 由系统栈恢复现场 转CPU 分派 返回目态程序(dispatcher)保存现场信息取中断字分析中断原因保存现场信息取访管号
7、分析调用功能T FF T16计算机操作系统教程(第2 版)3.1.3.1 I/O 中断处理 正常结束 继续传输;唤醒相关进程。传输错误 复执(eg.3 次);报告系统操作员。17计算机操作系统教程(第2 版)3.1.3.2 时钟中断处理 Housekeeping 进程管理 重新计算进程调度参数(eg.动态优先数)实现软时钟,启动定时程序 硬时钟5ms 发生一次中断,软时钟50ms 考虑进程切换18计算机操作系统教程(第2 版)3.1.3.3 控制台中断处理 一个控制按钮,一个中断向量,一个中断处理程序。19计算机操作系统教程(第2 版)3.1.3.4 硬件故障处理 电源故障处理 掉电:内存,寄
8、存器 外存 停止设备 停止处理机 恢复:启动处理机 启动设备 外存 内存,寄存器 Use UPS for criticalapplications20计算机操作系统教程(第2 版)3.1.3.4 硬件故障处理(cont.)内存故障处理 海明校验,奇偶校验错误 下雨检查 划出系统(不可用区域)报告操作员21计算机操作系统教程(第2 版)3.1.3.5 程序性中断的处理 只能由操作系统处理的中断 影响系统或其它进程 越界,非法指令,(处理:终止进程、调试)需要系统管理或协助 页故障,缺段,(处理:动态调入)可以由用户自己处理的中断 不影响系统和其它进程 除0,溢出,(处理:用户处理,或OS 处理)
9、22计算机操作系统教程(第2 版)应用程序自己处理中断调试语句:on 语言提供 自编的处理程序例如:on goto LA;除0中断时转LA 处理除0中断时转LB 处理 on goto LB除0中断续元除0中断续元LA:LB:相同中断发生在不同位置可采用不同处理方法23计算机操作系统教程(第2 版)应用程序自行处理中断(Cont.)编译时:生成中断续元表:中断续元入口0中断续元入口1中断续元入口n中断事件0:中断事件1:中断事件n:.运行时:执行调试语句,填写中断续元表。中断时:根据中断原因查中断续元表,为0,用户未规定中断续元,由OS 标准处理;非0,用户已规定中断续元,由用户处理。初始时均为
10、024计算机操作系统教程(第2 版)图3-9(P47)步骤:(1)发生溢出中断(2)保存旧PSW 和PC(3)取中断向量(4)转到中断处理程序(5)访问中断续元表(假定非0)(6)系统栈中现场转移到用户栈(7)中断续元入口送寄存器(OS 中断处理完成)(8)执行中断续元(9)用户栈PSW 和PC 送寄存器(10)返回中断断点25计算机操作系统教程(第2 版)3.1.3.6 自愿性中断的处理访管指令(SuperVisor Call)形式:准备参数SVC n(n为访管中断号,表示何种访问要求)取返回值系统调用(system call)形式:返回值=系统调用名称(实参1,实参n)参数和返回值的存放位
11、置是由OS 规定的。26计算机操作系统教程(第2 版)3.1.3.6 自愿性中断的处理系统调用驱动表:(table driven)服务程序入口addr1addrn访管号:0.mEg.UNIX27计算机操作系统教程(第2 版)3.2 处理机调度 处理机调度又称低级调度或微观调度 3.2.1 处理机调度算法 按什么原则分配处理机 3.2.2 处理机调度时机 何时分配处理机 3.2.3 处理机调度过程 如何分配处理机28计算机操作系统教程(第2 版)3.2.1 处理机调度算法 考虑因素(scheduling criteria)CPU 利用率:CPU 尽量忙碌;吞吐量:单位时间处理任务的数量尽可能多;
12、周转时间:任务就绪到处理完毕的时间尽可能短;响应时间:任务就绪到开始处理的时间尽可能短;系统开销:系统调度的时空代价尽可能小。29计算机操作系统教程(第2 版)CPU burst vs.I/O burst 阵发期(burst)CPU 阵发期:进程(线程)使用CPU 计算;I/O 阵发期:进程(线程)使用设备I/O。进程运行行为(两类资源交替使用)CPU 阵发,I/O 阵发,CPU 阵发,I/O 阵发,CPU 调度:考虑处于CPU 阵发(burst)进程集合,按某种策略安排进程的执行顺序。CPU 阵发时间根据以前行为推定。30计算机操作系统教程(第2 版)剥夺式调度与非剥夺式调度 剥夺式(pre
13、emptive)就绪进程可以从运行进程手中抢占CPU。非剥夺式(non-preemptive)就绪进程不可从运行进程手中抢占CPU。31计算机操作系统教程(第2 版)3.2.1.1 先到先服务算法 FCFS(First Come First Serve)按进程申请CPU(进入就绪状态)的次序。Gantt 图(到达次序:P1,P2,P3)process Burst timeP1 27P2 3P3 5P1 P2 P30 27 30 3532计算机操作系统教程(第2 版)3.2.1.1 先到先服务算法(Cont.)平均等待时间:(0+27+30)/3=19(ms)Gantt 图(若到达次序:P2,P
14、3,P1)平均等待时间(可降低)(0+3+8)/3=3.67P1 P2 P30 3 8 3533计算机操作系统教程(第2 版)3.2.1.1 先到先服务算法(Cont.)优缺点:“公平”;短作业等待时间长。34计算机操作系统教程(第2 版)3.2.1.2 短作业优先 SJF(Shortest Job First)按CPU burst 长度 Gant chart:Process Burst timeP1 12P2 5P3 7P4 3P1 P3 P2 P40 3 8 15 2735计算机操作系统教程(第2 版)3.2.1.2 短作业优先(SJF)平均等待时间:(0+3+8+15)/4=6.5(ms
15、)特点:假定所有任务同时到达,平均等待时间最短。长作业可能被饿死(对长作业不公平)。36计算机操作系统教程(第2 版)3.2.1.3 最高响应比优先算法 是FCFS 算法和SJF 算法的折衷。公式如下:BT+WT WT RR=1+BT BT CPU 阵发时间+等待时间 等待时间即:响应比=1+CPU 阵发时间 CPU 阵发时间 等待时间越长,响应比越高,被调度的机会高,减少饥饿现象。37计算机操作系统教程(第2 版)3.2.1.4 优先数算法(HPF)进程有优先数,优先数根据紧迫程度分配,优先数高的进程先运行。静态优先数(static)优先数在进程创建时分配,生存期内不变。低优先数响应时间慢,
16、系统开销小。动态优先数(dynamic)进程创建时继承优先数,生存期内可以修改。响应速度快,开销大。38计算机操作系统教程(第2 版)3.2.1.4 优先数算法(Cont.)非抢占式静态优先数 获得处理机的进程运行,直至(进程)终止(进程因某事件而)等待 抢占式动(静)态优先数 获得处理机的进程运行,直至 终止 等待 出现高优先级的进程39计算机操作系统教程(第2 版)3.2.1.5 循环轮转算法(RR)Round Robin(RR)基本轮转 进程获得运行时间片,所有进程时间片长度相同,不变;所有进程等速向前推进。改进轮转 时间片长度不定,可变。40计算机操作系统教程(第2 版)3.2.1.5
17、 循环轮转算法(Cont.)时间片长度:几十毫秒 几百毫秒(eg.50ms)过长:响应速度慢;过短:系统开销(overhead)大。适应系统:分时41计算机操作系统教程(第2 版)3.2.1.6 分类排队(多级队列)算法(MLQ)多级队列 多个就绪队列,进程所属的队列固定。例如:通用系统中:队列1:实时进程就绪队列(HPF)队列2:分时进程就绪队列(RR)队列3:批处理进程就绪队列(HPF)运行次序:队列1 队列2 队列342计算机操作系统教程(第2 版)3.2.1.7 最短剩余时间(SRTN)Shortest Remaining Time Next 可抢占式SJF43计算机操作系统教程(第2
18、 版)3.2.1.8 反馈排队算法(FB)Feed-Back:多个就绪队列,进程所属队列可变。Q1(RR,HPF)Q2(RR,HPF)Qn(RR,HPF)运行s1 时间片运行s2 时间片.创建唤醒优先级 时间片运行sn 时间片44计算机操作系统教程(第2 版)3.2.1.8 反馈排队算法(Cont.)调度效果(特点):短进程优先处理 设备资源利用率高 被唤醒的进程尽早投入运行(进入高优先级队列);系统开销小 计算量大的进程落入底层队列。缺点:低优先级进程可能饿死45计算机操作系统教程(第2 版)3.2.2 处理机调度时机 处理机调度实现进程的切换。操作系统是中断驱动的,中断是进程切换的前提。中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 中断与处理机调度 中断 处理机 调度
限制150内