03第三章 中断与处理机调度1.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《03第三章 中断与处理机调度1.ppt》由会员分享,可在线阅读,更多相关《03第三章 中断与处理机调度1.ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 中断与处理机调度中断与处理机调度n3.1 中断与中断系统中断与中断系统n3.2 处理机调度处理机调度n3.3 调度级别与多级调度调度级别与多级调度n3.4 实时调度实时调度n3.5 多处理机调度多处理机调度n3.6 系统举例系统举例 操作系统是中断驱动的!操作系统是中断驱动的!Interrupt driven3.1 中断与中断系统中断与中断系统n3.1.1 中断的概念中断的概念n3.1.2 中断装置中断装置n3.1.3 中断处理程序中断处理程序3.1.1 中断的概念中断的概念n处理机在运行过程中,出现了某一事件,处理机在运行过程中,出现了某一事件,必须中止正在运行的程序,转去处理
2、这必须中止正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,个事件,然后再返回原来运行的程序,这一过程称为中断。这一过程称为中断。n中断系统:中断系统:n中断装置中断装置(硬件硬件)n中断处理程序中断处理程序(软件软件)3.1.2 中断装置中断装置n发现并响应中断的硬件机构发现并响应中断的硬件机构n识别中断源,当有多个中断源时,按紧迫程识别中断源,当有多个中断源时,按紧迫程度排队;度排队;n保存现场;保存现场;n引出中断处理程序引出中断处理程序。中断响应和处理的过程中断响应和处理的过程正正运运行行程程序序 1 6处处理理程程序序 4PSW,PCPC:PSW,PC系统桟系统桟psw,p
3、c.253HALOS中断3.1.2.1 中断源与中断字中断源与中断字n中断源中断源n引起中断的事件。引起中断的事件。n中断寄存器中断寄存器n保存与中断事件相关信息的寄存器。保存与中断事件相关信息的寄存器。n中断字中断字n中断寄存器的内容。中断寄存器的内容。n例:例:IO中断:设备状态寄存器。中断:设备状态寄存器。3.1.2.2 中断类型与中断向量中断类型与中断向量n强迫性中断强迫性中断n运行程序不期望的运行程序不期望的n时钟中断时钟中断nIO中断中断n控制台中断控制台中断n硬件故障中断硬件故障中断npower failuren内存校验错内存校验错n程序性中断程序性中断n越界,越权越界,越权n缺
4、页缺页n溢出,除溢出,除0n非法指令非法指令n自愿性中断自愿性中断n运行程序期望的运行程序期望的n系统调用系统调用n访管指令访管指令n系统调用系统调用nfd=open(fname,mode)n访管指令访管指令n准备参数准备参数nsvc nn取返回值取返回值3.1.2.2 中断类型与中断向量中断类型与中断向量中断装置中断装置 中断处中断处 理程序理程序运行程序运行程序访管指令访管指令运行程序运行程序中断装置中断装置 中断处中断处 理程序理程序clockIOconsolePowerfailuremalfunction强迫中断强迫中断:自愿中断自愿中断:SVC ntrap n3.1.2.2 中断类型
5、与中断向量中断类型与中断向量n中断向量:中断处理程序的运行环境与中断向量:中断处理程序的运行环境与入口地址入口地址(PSW,PC)n每类中断事件有一个中断向量每类中断事件有一个中断向量,n中断向量的存放位置是由硬件规定的中断向量的存放位置是由硬件规定的,n中断向量的内容是中断向量的内容是OS在系统初始化时设置在系统初始化时设置好的。好的。中断向量中断向量mode应为系统态应为系统态3.1.2.2 中断类型与中断向量中断类型与中断向量PSW1,PC1 时钟中断向量时钟中断向量PSW2,PC2 I/O中断向量中断向量PSW3,PC3 console中断向量中断向量PSW4,PC4 硬件故障硬件故障
6、PSW5,PC5 程序错误程序错误 PSWn,PCn 访管访管中断向量中断向量00000008001600240030 0090时钟中断时钟中断处理程序处理程序PC1:I/O中断中断处理程序处理程序PC2:访管中断访管中断处理程序处理程序PCn:系统空间系统空间3.1.2.3 中断嵌套与系统栈中断嵌套与系统栈n一般原则:一般原则:n高优先级别中断可以嵌入低优先级中断高优先级别中断可以嵌入低优先级中断n实现方法:实现方法:n中断响应后立即屏蔽不高于当前中断优先级中断响应后立即屏蔽不高于当前中断优先级的中断源。的中断源。3.1.2.3 中断嵌套与系统栈中断嵌套与系统栈中断响应后一般需要进一步保存现
7、场中断响应后一般需要进一步保存现场中断响应后一般需要进一步保存现场中断响应后一般需要进一步保存现场 关中断关中断(屏蔽所有中断)(屏蔽所有中断)进一步保存现场(通用寄存器等)进一步保存现场(通用寄存器等)开中断开中断(或开放高优先级中断)(或开放高优先级中断).中断处理中断处理 .关中断关中断(屏蔽所有中断)(屏蔽所有中断)恢复现场恢复现场 开中断开中断(或开放高优先级中断)(或开放高优先级中断)中断返回中断返回3.1.2.3 中断嵌套与系统栈中断嵌套与系统栈(Cont.)目态目态PSW1:PC1管态管态PSW2:PC2管态管态PSWn:PCn中断嵌套中断嵌套:3.1.2.3 中断嵌套与系统栈
8、中断嵌套与系统栈(Cont.)PSWn-1 PCn-1PSW2 PC2PSW1 PC1栈顶指针栈顶指针:系统栈系统栈:3.1.2.4 中断优先级与中断屏蔽中断优先级与中断屏蔽n中断优先级:中断优先级:n硬件规定的中断响应次序,依据硬件规定的中断响应次序,依据:n紧迫程度;紧迫程度;n处理时间。处理时间。n中断屏蔽:中断屏蔽:n高优先级中断事件处理不受低优先级中断打高优先级中断事件处理不受低优先级中断打扰;扰;n程序调整中断响应次序。程序调整中断响应次序。3.1.3 中断处理程序中断处理程序强迫性中断强迫性中断自愿性中断自愿性中断保存现场信息保存现场信息取中断字取中断字分析中断原因分析中断原因保
9、存现场信息保存现场信息取调用号取调用号分析何种系统调用分析何种系统调用 中断处理中断处理(如等待转(如等待转dispatcher)继续处理继续处理 嵌套中断嵌套中断系统栈恢复现场系统栈恢复现场返回上层中断返回上层中断需要切换进程需要切换进程系统栈恢复现场系统栈恢复现场返回目态程序返回目态程序转转dispatcherTFFT3.1.3.1 IO中断处理中断处理n正常结束正常结束n继续传输;继续传输;n唤醒相关进程。唤醒相关进程。n传输错误传输错误n复执(复执(eg.3次次);n报告系统操作员。报告系统操作员。3.1.3.2 时钟中断处理时钟中断处理nHousekeepingn进程管理进程管理n重
10、新计算进程调度参数重新计算进程调度参数(eg.动态优先数动态优先数)n实现软时钟,启动定时程序实现软时钟,启动定时程序n硬时钟硬时钟5ms发生一次中断,软时钟发生一次中断,软时钟50msn考虑进程切换考虑进程切换3.1.3.3 控制台中断处理控制台中断处理n一个控制按钮,一个中断向量,一个中一个控制按钮,一个中断向量,一个中断处理程序。断处理程序。3.1.3.4 硬件故障处理硬件故障处理n电源故障处理电源故障处理n掉电:掉电:n内存,寄存器内存,寄存器外存外存n停止设备停止设备n停止处理机停止处理机n恢复:恢复:n启动处理机启动处理机n启动设备启动设备n外存外存内存,寄存器内存,寄存器 Use
11、 UPS for criticalapplications3.1.3.4 硬件故障处理硬件故障处理(cont.)n内存故障处理内存故障处理n海明校验,奇偶校验错误海明校验,奇偶校验错误n下雨检查下雨检查n划出系统划出系统n报告操作员报告操作员3.1.3.5 程序性中断的处理程序性中断的处理n只能由操作系统处理的中断只能由操作系统处理的中断n影响系统或其它进程影响系统或其它进程n越界,非法指令,(处理:终止进程、调试)越界,非法指令,(处理:终止进程、调试)n需要系统管理或协助需要系统管理或协助n页故障,缺段,(处理:动态调入)页故障,缺段,(处理:动态调入)n可以由用户自己处理的中断可以由用户
12、自己处理的中断n不影响系统和其它进程不影响系统和其它进程n除除0,溢出,(处理:用户处理,或,溢出,(处理:用户处理,或OS处理)处理)应用程序自己处理中断应用程序自己处理中断调试语句:调试语句:on 例如:例如:on goto LA;除除0中断时转中断时转LA处理处理除除0中断时转中断时转LB处理处理 on goto LB除除0中中断续元断续元除除0中中断续元断续元LA:LB:相同中断发生在不同位置相同中断发生在不同位置可采用不同处理方法可采用不同处理方法应用程序自行处理中断应用程序自行处理中断(Cont.)编译时:生成中断续元表:编译时:生成中断续元表:中断续元入口中断续元入口0中断续元入
13、口中断续元入口1中断续元入口中断续元入口n中断事件中断事件0:中断事件中断事件1:中断事件中断事件n:.运行时:执行调试语句,填写中断续元表。运行时:执行调试语句,填写中断续元表。中断时:根据中断原因查中断续元表,中断时:根据中断原因查中断续元表,为为0,用户未规定中断续元,由,用户未规定中断续元,由OS标准处理;标准处理;非非0,用户已规定中断续元,由用户处理。,用户已规定中断续元,由用户处理。初始时均为初始时均为0图图3-9(P47)n步骤:步骤:n(1)发生溢出中断)发生溢出中断n(2)保存旧)保存旧PSW和和PCn(3)取中断向量取中断向量n(4)转到中断处理程序)转到中断处理程序n(
14、5)访问中断续元表(假定非)访问中断续元表(假定非0)n(6)系统栈中现场转移到用户栈)系统栈中现场转移到用户栈n(7)中断续元入口送寄存器()中断续元入口送寄存器(OS中断处理完成)中断处理完成)n(8)执行中断续元)执行中断续元n(9)用户栈)用户栈PSW和和PC送寄存器送寄存器n(10)返回中断断点)返回中断断点3.1.3.6 自愿性中断的处理自愿性中断的处理访管指令访管指令(SuperVisor Call)形式:形式:准备参数准备参数SVC n取返回值取返回值系统调用系统调用(system call)形式:形式:返回值返回值=系统调用名称(实参系统调用名称(实参1,实参实参n)参数和返
15、回值和存放位置是由参数和返回值和存放位置是由OS规定的。规定的。3.1.3.6 自愿性中断的处理自愿性中断的处理系统调用驱动表:系统调用驱动表:(table driven)服务程序入口服务程序入口addr0addrm-1访管号:访管号:0.m-1Eg.UNIX3.2 处理机调度处理机调度n3.2.1 处理机调度算法处理机调度算法n按什么原则分配按什么原则分配n3.2.2 处理机调度时机处理机调度时机n何时重新分配何时重新分配n3.2.3 处理机调度过程处理机调度过程n如何完成分配如何完成分配3.2.1 处理机调度算法处理机调度算法n考虑因素(考虑因素(scheduling criteria)n
16、CPU利用率利用率;(max)n吞吐量吞吐量;(max)n周转时间周转时间;(min)n响应时间响应时间;(min)n系统开销系统开销;(min)调度参数周转时间:完成时间周转时间:完成时间-进入时间进入时间平均周转时间:周转时间的平均值平均周转时间:周转时间的平均值带权周转时间:周转时间带权周转时间:周转时间/运行时间运行时间平均带权周转时间:带权周转时间的平均值平均带权周转时间:带权周转时间的平均值CPU burst vs.I/O burst n阵发期阵发期:nCPU burst cycle:进程进程(线程线程)使用使用CPU计算;计算;nI/O burst cycle:进程进程(线程线程
17、)使用设备使用设备I/O。n进程运行行为:进程运行行为:nCPU burst,I/O burst,CPU burst,I/O burst,nCPU调度:考虑处于调度:考虑处于CPU burst进程集合进程集合n CPU burst时间根据以前行为推定。时间根据以前行为推定。CPU burst vs.I/O burstn下一个下一个CPU burst的长度估算的长度估算n令令n是估计的第是估计的第n个个CPU阵发期的长度,阵发期的长度,tn的值是进程最近一次的值是进程最近一次CPU阵发期长度,则有阵发期长度,则有如下估算公式:如下估算公式:nn+1=tn+(1-)nn参数参数(01)控制控制tn
18、和和n在公式中起的作用:在公式中起的作用:当当=0时,时,n+1=n;当;当=1时,时,n+1=tn。通常通常取取0.5。剥夺式调度与非剥夺式调度剥夺式调度与非剥夺式调度n剥夺式剥夺式(preemptive)n就绪进程就绪进程可以可以从运行进程手中从运行进程手中抢占抢占CPU。n进程运行进程运行,直到结束、等待或被抢先直到结束、等待或被抢先n非剥夺式非剥夺式(non-preemptive)n就绪进程就绪进程不可不可从运行进程手中从运行进程手中抢占抢占CPU。n进程运行进程运行,直到结束或等待直到结束或等待3.2.1.1 先到先服务算法先到先服务算法nFCFS(First Come First
19、Serve)n按进程申请按进程申请CPU(就绪)的次序。(就绪)的次序。nProcess Arrival time Burst timenP1 0 27nP2 1 3nP3 2 5nCPU调度状况可用调度状况可用Gantt 图表示图表示0 27 30 35P1P2P33.2.1.1 先到先服务算法先到先服务算法(Cont.)进进程程到达到达时间时间运行运行时间时间开始开始时间时间完成完成时间时间周周转时间转时间带权带权周周转时间转时间P1027027271P2132730299.67P3253035336.6平均周转时间平均周转时间 =(27+29+33)/3=29.67 平均带权周转时间平均
20、带权周转时间 =(1+9.67+6.6)/3=5.76 0 27 30 35P1P2P33.2.1.1 先到先服务算法先到先服务算法(Cont.)n优点:优点:n“公平公平”;n缺点缺点:n短作业等待时间长。短作业等待时间长。3.2.1.2 短作业优先短作业优先nSJF(Shortest Job First)n按按CPU burst长度长度nProcess Arrival time Burst timen P1 0 12n P2 0 5n P3 0 7n P4 0 3nGantt Chart0 3 8 15 27P1P2P3P43.2.1.2 短作业优先短作业优先0 3 8 15 27P1P2
21、P3P4进进程程到达到达时间时间运行运行时间时间开始开始时间时间完成完成时间时间周周转时间转时间带权带权周周转时间转时间P10121527272.25P2053881.6P307815152.14P4030331平均周转时间平均周转时间 =(27+8+15+3)/4=13.25 平均带权周转时间平均带权周转时间 =(2.25+1.6+2.14+1)/4=1.753.2.1.2 短作业优先短作业优先n特点:特点:n假定所有任务同时到达,平均等待假定所有任务同时到达,平均等待时间最短。时间最短。n长作业可能被饿死。长作业可能被饿死。3.2.1.3最高响应比优先最高响应比优先(HRN)nHighes
22、t Response Ratio NextnRR=(BT+WT)/BT=1+WT/BTn其中其中:nBT=burst timenWT=wait timen优点优点:n同时到达任务同时到达任务,短者优先短者优先n长作业随等待时间增加响应比增加长作业随等待时间增加响应比增加3.2.1.4 最高优先数算法最高优先数算法(HPF)n静态优先数静态优先数(static)n优先数在进程创建时分配,生存期内不变。优先数在进程创建时分配,生存期内不变。n响应速度慢,开销小。响应速度慢,开销小。n适合批处理进程适合批处理进程n动态优先数动态优先数(dynamic)n进程创建时继承优先数,生存期内可以修改。进程创
23、建时继承优先数,生存期内可以修改。n响应速度快,开销大。响应速度快,开销大。3.2.1.4 最高优先数算法最高优先数算法(Cont.)n非剥夺式静态优先数非剥夺式静态优先数n获得处理机的进程运行,直至获得处理机的进程运行,直至n终止终止n等待等待n剥夺式动剥夺式动(静静)态优先数态优先数n获得处理机的进程运行,直至获得处理机的进程运行,直至n终止终止n等待等待n出现高优先级的进程出现高优先级的进程3.2.1.4 最高优先数算法最高优先数算法(Cont.)n可抢占CPUnProcess Arrival time Priority Burst timenP1 0 0 8nP2 2 1 5nP3 4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03第三章 中断与处理机调度1 03 第三 中断 处理机 调度
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内