中断与处理器调度.ppt
《中断与处理器调度.ppt》由会员分享,可在线阅读,更多相关《中断与处理器调度.ppt(94页珍藏版)》请在三一办公上搜索。
1、第三章 中断与处理机调度,3.1 中断与中断系统3.2 处理机调度3.3 调度级别与多级调度3.4 实时调度3.5 多处理机调度3.6 系统举例,操作系统是中断驱动的!Interrupt driven,3.1 中断与中断系统,3.1.1 中断的概念3.1.2 中断装置3.1.3 中断处理程序,3.1.1 中断的概念,处理机在运行过程中,出现了某一事件,必须中止正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。中断系统:中断装置(硬件)中断处理程序(软件),3.1.2 中断装置,发现并响应中断的硬件机构识别中断源,当有多个中断源时,按紧迫程度排队;保存现场;引出中断处
2、理程序。,中断响应和处理的过程,正运行程序 1 6,处理程序 4,PSW,PC,PC:,PSW,PC,系统桟,psw,pc,.,2,5,3,HAL,OS,中断,3.1.2.1 中断源与中断字,中断源引起中断的事件。中断寄存器保存与中断事件相关信息的寄存器。中断字中断寄存器的内容。例:IO中断:设备状态寄存器。,3.1.2.2 中断类型与中断向量,强迫性中断运行程序不期望的时钟中断IO中断控制台中断硬件故障中断power failure内存校验错程序性中断越界,越权缺页溢出,除0非法指令,自愿性中断运行程序期望的系统调用访管指令系统调用fd=open(fname,mode)访管指令准备参数svc
3、 n取返回值,3.1.2.2 中断类型与中断向量,中断装置,中断处 理程序,运行程序访管指令,运行程序,中断装置,中断处 理程序,clock,IO,console,Powerfailure,malfunction,强迫中断:,自愿中断:,SVC ntrap n,3.1.2.2 中断类型与中断向量,中断向量:中断处理程序的运行环境与入口地址(PSW,PC)每类中断事件有一个中断向量,中断向量的存放位置是由硬件规定的,中断向量的内容是OS在系统初始化时设置好的。,中断向量mode应为系统态,3.1.2.2 中断类型与中断向量,PSW1,PC1 时钟中断向量PSW2,PC2 I/O中断向量PSW3,
4、PC3 console中断向量PSW4,PC4 硬件故障PSW5,PC5 程序错误 PSWn,PCn 访管中断向量,00000008001600240030 0090,时钟中断处理程序,PC1:,I/O中断处理程序,PC2:,访管中断处理程序,PCn:,系统空间,3.1.2.3 中断嵌套与系统栈,一般原则:高优先级别中断可以嵌入低优先级中断实现方法:中断响应后立即屏蔽不高于当前中断优先级的中断源。,3.1.2.3 中断嵌套与系统栈,中断响应后一般需要进一步保存现场 关中断(屏蔽所有中断)进一步保存现场(通用寄存器等)开中断(或开放高优先级中断).中断处理.关中断(屏蔽所有中断)恢复现场 开中断
5、(或开放高优先级中断)中断返回,3.1.2.3 中断嵌套与系统栈(Cont.),目态,PSW1:PC1,管态,PSW2:PC2,管态,PSWn:PCn,中断嵌套:,3.1.2.3 中断嵌套与系统栈(Cont.),PSWn-1 PCn-1PSW2 PC2PSW1 PC1,栈顶指针:,系统栈:,3.1.2.4 中断优先级与中断屏蔽,中断优先级:硬件规定的中断响应次序,依据:紧迫程度;处理时间。中断屏蔽:高优先级中断事件处理不受低优先级中断打扰;程序调整中断响应次序。,3.1.3 中断处理程序,强迫性中断,自愿性中断,保存现场信息取中断字分析中断原因,保存现场信息取调用号分析何种系统调用,中断处理(
6、如等待转dispatcher)继续处理,嵌套中断,系统栈恢复现场返回上层中断,需要切换进程,系统栈恢复现场返回目态程序,转dispatcher,T,F,F,T,3.1.3.1 IO中断处理,正常结束继续传输;唤醒相关进程。传输错误复执(eg.3次);报告系统操作员。,3.1.3.2 时钟中断处理,Housekeeping进程管理重新计算进程调度参数(eg.动态优先数)实现软时钟,启动定时程序硬时钟5ms发生一次中断,软时钟50ms考虑进程切换,3.1.3.3 控制台中断处理,一个控制按钮,一个中断向量,一个中断处理程序。,3.1.3.4 硬件故障处理,电源故障处理掉电:内存,寄存器外存停止设备
7、停止处理机恢复:启动处理机启动设备外存内存,寄存器,Use UPS for criticalapplications,3.1.3.4 硬件故障处理(cont.),内存故障处理海明校验,奇偶校验错误划出系统报告操作员,3.1.3.5 程序性中断的处理,只能由操作系统处理的中断影响系统或其它进程越界,非法指令,(处理:终止进程、调试)需要系统管理或协助页故障,缺段,(处理:动态调入)可以由用户自己处理的中断不影响系统和其它进程除0,溢出,(处理:用户处理,或OS处理),应用程序自己处理中断,调试语句:on 例如:on goto LA;,除0中断时转LA处理,除0中断时转LB处理,on goto L
8、B,除0中断续元,除0中断续元,LA:,LB:,相同中断发生在不同位置可采用不同处理方法,应用程序自行处理中断(Cont.),编译时:生成中断续元表:,中断续元入口0,中断续元入口1,中断续元入口n,中断事件0:,中断事件1:,中断事件n:,.,运行时:执行调试语句,填写中断续元表。中断时:根据中断原因查中断续元表,为0,用户未规定中断续元,由OS标准处理;非0,用户已规定中断续元,由用户处理。,初始时均为0,步骤:(1)发生溢出中断(2)保存旧PSW和PC(3)取中断向量(4)转到中断处理程序(5)访问中断续元表(假定非0)(6)系统栈中现场转移到用户栈(7)中断续元入口送寄存器(OS中断处
9、理完成)(8)执行中断续元(9)用户栈PSW和PC送寄存器(10)返回中断断点,3.1.3.6 自愿性中断的处理,访管指令(SuperVisor Call)形式:准备参数SVC n取返回值,系统调用(system call)形式:返回值=系统调用名称(实参1,实参n),参数和返回值和存放位置是由OS规定的。,3.1.3.6 自愿性中断的处理,系统调用驱动表:(table driven),Eg.UNIX,3.2 处理机调度,3.2.1 处理机调度算法按什么原则分配3.2.2 处理机调度时机何时重新分配3.2.3 处理机调度过程如何完成分配,scheduling,3.2.1 处理机调度算法,考虑因
10、素(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
11、进程集合 CPU burst时间根据以前行为推定。,CPU burst vs.I/O burst,下一个CPU burst的长度估算令n是估计的第n个CPU阵发期的长度,tn的值是进程最近一次CPU阵发期长度,则有如下估算公式:n+1=tn+(1-)n参数(01)控制tn和n在公式中起的作用:当=0时,n+1=n;当=1时,n+1=tn。通常取0.5。,剥夺式调度与非剥夺式调度,剥夺式(preemptive)就绪进程可以从运行进程手中抢占CPU。进程运行,直到结束、等待或被抢先非剥夺式(non-preemptive)就绪进程不可从运行进程手中抢占CPU。进程运行,直到结束或等待,3.2.1.1
12、 先到先服务算法,FCFS(First Come First Serve)按进程申请CPU(就绪)的次序。Process Arrival time Burst timeP1 0 27P2 1 3P3 2 5CPU调度状况可用Gantt 图表示,3.2.1.1 先到先服务算法(Cont.),3.2.1.1 先到先服务算法(Cont.),优点:“公平”;缺点:短作业等待时间长。,3.2.1.2 短作业优先,SJF(Shortest Job First)按CPU burst长度Process Arrival time Burst time P1 0 12 P2 0 5 P3 0 7 P4 0 3Ga
13、ntt Chart,3.2.1.2 短作业优先,3.2.1.2 短作业优先,特点:假定所有任务同时到达,平均等待时间最短。长作业可能被饿死。,3.2.1.3最高响应比优先(HRN),Highest Response Ratio NextRR=(BT+WT)/BT=1+WT/BT其中:BT=burst timeWT=wait time优点:同时到达任务,短者优先长作业随等待时间增加响应比增加,3.2.1.4 最高优先数算法(HPF),静态优先数(static)优先数在进程创建时分配,生存期内不变。响应速度慢,开销小。适合批处理进程动态优先数(dynamic)进程创建时继承优先数,生存期内可以修改
14、。响应速度快,开销大。,适用于实时系统,3.2.1.4 最高优先数算法(Cont.),非剥夺式静态优先数获得处理机的进程运行,直至终止等待剥夺式动(静)态优先数获得处理机的进程运行,直至终止等待出现高优先级的进程,3.2.1.4 最高优先数算法(Cont.),可抢占CPUProcess Arrival time Priority Burst timeP1 0 0 8P2 2 1 5P3 4 3 7P4 0 2 3P5 5 7 2Gantt Chart,3.2.1.4 最高优先数算法(Cont.),3.2.1.4 最高优先数算法(Cont.),例子UNIX:preemptive+dynamic
15、priority(可抢占CPU动态优先数)。计算公式:p_pri=min127,USER+p_cpu/16+p_nice定义USER=100;p_cpu:运行进程每20ms加1(优先级降低),其它进程每1200ms减10(优先级提高);p_nice:可以通过系统调用nice()修改的量:规定用户进程020之间(低),系统进程-20+20之间(高)。调度时取p_pri最小的。,3.2.1.5 循环轮转算法(RR),Round Robin(RR)基本轮转时间片(quantum,time slice)长度固定,不变;所有进程等速向前推进。改进轮转时间片长度不定,可变。,适用于分时系统,3.2.1.5
16、 循环轮转算法(Cont.),时间片长度:几十毫秒几百毫秒(eg.50ms)过长:响应速度慢;过短:系统开销(overhead)大。适应系统:分时,3.2.1.6 多级队列算法(MLQ),多级队列多个就绪队列,进程所属的队列固定。例如:通用系统中:队列1:实时进程就绪队列(HPF)队列2:分时进程就绪队列(RR)队列3:批处理进程就绪队列(HPF),3.2.1.7 最短剩余时间优先(SRTN),Shortest Remaining Time Next可剥夺SJFProcess Arrival time Burst time P1 0 12 P2 1 5 P3 3 7 P4 5 3Gantt图,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 处理器 调度

链接地址:https://www.31ppt.com/p-5170577.html