操作系统课件:03第三章 中断与处理机调度1_第1页
操作系统课件:03第三章 中断与处理机调度1_第2页
操作系统课件:03第三章 中断与处理机调度1_第3页
操作系统课件:03第三章 中断与处理机调度1_第4页
操作系统课件:03第三章 中断与处理机调度1_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 中断与处理机调度3.1 中断与中断系统3.2 处理机调度3.3 调度级别与多级调度3.4 实时调度3.5 多处理机调度3.6 系统举例 操作系统是中断驱动的!Interrupt driven3.1 中断与中断系统3.1.1 中断的概念3.1.2 中断装置3.1.3 中断处理程序3.1.1 中断的概念处理机在运行过程中,出现了某一事件,必须中止正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。中断系统:中断装置(硬件)中断处理程序(软件)3.1.2 中断装置发现并响应中断的硬件机构识别中断源,当有多个中断源时,按紧迫程度排队;保存现场;引出中断处理程序。中断响

2、应和处理的过程正运行程序 处理程序 PSW,PCPC:PSW, PC系统桟.HALOS中断正运行程序 处理程序 PSW,PCPC:PSW, PC系统桟psw, pc.HALOS中断中断响应和处理的过程正运行程序 处理程序 PSW,PCPC:PSW, PC系统桟psw, pc.HALOS中断中断响应和处理的过程正运行程序 处理程序 PSW,PCPC:PSW, PC系统桟psw, pc.HALOS中断中断响应和处理的过程正运行程序 处理程序 PSW,PCPC:PSW, PC系统桟psw, pc.HALOS中断中断响应和处理的过程正运行程序 处理程序 PSW,PCPC:PSW, PC系统桟psw,

3、pc.HALOS中断中断响应和处理的过程3.1.2.1 中断源与中断字中断源引起中断的事件。中断寄存器保存与中断事件相关信息的寄存器。中断字中断寄存器的内容。例:IO中断:设备状态寄存器。3.1.2.2 中断类型与中断向量强迫性中断运行程序不期望的时钟中断IO中断控制台中断硬件故障中断power failure内存校验错程序性中断越界,越权缺页溢出,除0非法指令自愿性中断运行程序期望的系统调用访管指令系统调用fd=open(fname,mode)访管指令准备参数svc n取返回值3.1.2.2 中断类型与中断向量中断装置 中断处 理程序运行程序访管指令运行程序中断装置 中断处 理程序clock

4、IOconsolePowerfailuremalfunction强迫中断:自愿中断:SVC ntrap n3.1.2.2 中断类型与中断向量中断向量:中断处理程序的运行环境与入口地址(PSW,PC)每类中断事件有一个中断向量,中断向量的存放位置是由硬件规定的,中断向量的内容是OS在系统初始化时设置好的。 中断向量mode应为系统态3.1.2.2 中断类型与中断向量PSW1, PC1 时钟中断向量PSW2, PC2 I/O中断向量PSW3, PC3 console中断向量PSW4, PC4 硬件故障PSW5, PC5 程序错误 PSWn, PCn 访管中断向量000000080016002400

5、30 0090时钟中断处理程序PC1:I/O中断处理程序PC2:访管中断处理程序PCn:系统空间3.1.2.3 中断嵌套与系统栈一般原则:高优先级别中断可以嵌入低优先级中断实现方法:中断响应后立即屏蔽不高于当前中断优先级的中断源。3.1.2.3 中断嵌套与系统栈中断响应后一般需要进一步保存现场 关中断(屏蔽所有中断) 进一步保存现场(通用寄存器等) 开中断(或开放高优先级中断) . 中断处理 . 关中断(屏蔽所有中断) 恢复现场 开中断 中断返回3.1.2.3 中断嵌套与系统栈(Cont.)目态PSW1: PC1管态PSW2: PC2管态PSWn: PCn中断嵌套:3.1.2.3 中断嵌套与系

6、统栈(Cont.)PSWn-1 PCn-1PSW2 PC2PSW1 PC1栈顶指针:系统栈:3.1.2.4 中断优先级与中断屏蔽中断优先级:硬件规定的中断响应次序,依据:紧迫程度;处理时间。中断屏蔽:高优先级中断事件处理不受低优先级中断打扰;程序调整中断响应次序。强迫性中断:自愿性中断:关中断进一步保存现场到系统栈取中断字分析中断原因关中断进一步保存现场到系统栈取调用号分析何种系统调用中断处理由系统栈恢复现场返回目态程序保存下降进程现场到PCB(核心栈=PCB)选择上升进程由PCB恢复上升进程现场TF开放高优先级中断关中断终止收回资源,撤销PCB选择上升进程由PCB恢复上升进程现场T等待保存下

7、降进程现场到PCB选择上升进程由PCB恢复上升进程现场FT剥夺F中断处理完TF3.1.3 中断处理程序由系统栈回复现场返回目态程序是嵌套中断由系统栈恢复现场返回上层中断F中断分析关于等待何时等待?没有嵌套,中断与运行进程相关等待几次?可能多次什么级别现场?核心级别现场等待时系统栈如何?栈底是目态现场,然后是嵌套函数的返回点、参数、局部变量、返回值中断分析关于剥夺何时剥夺?没有中断嵌套中断处理完什么级别现场?目态现场(核心栈内容=PCB)运行user运行kernel等待就绪无创建终止考虑系统状态的进程状态转换图建立PCB, 分配必要资源,初始化PCB, 入就绪队列调度选中运行user运行kern

8、el等待就绪无创建终止考虑系统状态的进程状态转换图PCB切换,恢复地址映射寄存器,通用(浮点)寄存器,SP调度选中运行user运行kernel等待就绪(置PSW)无创建终止考虑系统状态的进程状态转换图恢复PSW和PC中断运行user运行kernel等待就绪无创建终止考虑系统状态的进程状态转换图现场在核心栈等待事件中断运行user运行kernel等待就绪无创建终止考虑系统状态的进程状态转换图保存核心级现场到PCB等待事件中断运行user运行kernel等待就绪事件发生无创建终止考虑系统状态的进程状态转换图I/O中断,资源释放并分给该进程等待事件调度选中中断运行user运行kernel等待就绪事件

9、发生无创建终止考虑系统状态的进程状态转换图恢复核心级别现场等待事件调度选中中断运行user运行kernel等待就绪事件发生无创建终止考虑系统状态的进程状态转换图再次等待,唤醒,调度等待事件调度选中中断运行user运行kernel等待就绪(置PSW)事件发生无创建终止考虑系统状态的进程状态转换图由系统栈回复现场中断运行user运行kernel等待就绪无创建终止考虑系统状态的进程状态转换图现场压入系统栈中断运行user运行kernel等待就绪中断无创建终止考虑系统状态的进程状态转换图嵌套中断,现场压入系统栈中断运行user运行kernel等待就绪中断嵌套返回无创建终止考虑系统状态的进程状态转换图由

10、系统栈弹出现场中断运行user运行kernel等待就绪(置PSW)中断嵌套返回无创建终止考虑系统状态的进程状态转换图退到第一层中断,不剥夺处理机, 由系统栈弹出现场剥夺中断运行user运行kernel等待就绪中断嵌套返回无创建终止考虑系统状态的进程状态转换图退到第一层中断,剥夺处理机, 系统栈(目态)现场=PCB中断运行user运行kernel等待就绪无创建终止考虑系统状态的进程状态转换图执行系统调用exit(), 收回资源,撤销PCB结束等待事件调度选中剥夺中断运行user运行kernel等待就绪(置PSW)事件发生中断嵌套返回无创建结束终止考虑系统状态的进程状态转换图建立PCB, 分配必要

11、资源,初始化PCB, 入就绪队列3.1.3.1 IO中断处理正常结束继续传输;唤醒相关进程。传输错误复执(eg. 3次);报告系统操作员。3.1.3.2 时钟中断处理Housekeeping进程管理重新计算进程调度参数(eg. 动态优先数)实现软时钟,启动定时程序硬时钟5ms发生一次中断,软时钟50ms如死锁检测考虑进程切换3.1.3.3 控制台中断处理一个控制按钮,一个中断向量,一个中断处理程序。3.1.3.4 硬件故障处理电源故障处理掉电:内存,寄存器外存停止设备停止处理机恢复:启动处理机启动设备外存内存,寄存器 Use UPS for criticalapplications3.1.3.

12、4 硬件故障处理(cont.)内存故障处理海明校验,奇偶校验错误下雨检查划出系统报告操作员3.1.3.5 程序性中断的处理只能由操作系统处理的中断影响系统或其它进程越界,非法指令,(处理:终止进程、调试)需要系统管理或协助页故障,缺段,(处理:动态调入)可以由用户自己处理的中断不影响系统和其它进程除0,溢出,(处理:用户处理,或OS处理)应用程序自己处理中断调试语句:on 例如:on goto LA;除0中断时转LA处理除0中断时转LB处理 on goto LB除0中断续元除0中断续元LA:LB:相同中断发生在不同位置可采用不同处理方法应用程序自行处理中断(Cont.)编译时:生成中断续元表:

13、中断续元入口0中断续元入口1中断续元入口n中断事件0:中断事件1:中断事件n:.运行时:执行调试语句,填写中断续元表。中断时:根据中断原因查中断续元表, 为0,用户未规定中断续元,由OS标准处理; 非0,用户已规定中断续元,由用户处理。初始时均为0图3-9(P47)步骤:(1)发生溢出中断(2)保存旧PSW和PC(3)取中断向量(4)转到中断处理程序(5)访问中断续元表(假定非0)(6)系统栈中现场转移到用户栈(7)中断续元入口送寄存器(OS中断处理完成)(8)执行中断续元(9)用户栈PSW和PC送寄存器(10)返回中断断点硬件OS中断处理程序PSW PC系统栈PSW1, PC1 PC1:re

14、t运行程序中断续元续元表用户栈PSW, LALA:硬件OS中断处理程序PSW PC系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出LA:硬件OS中断处理程序PSW PC系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出PSW PCLA:硬件OS中断处理程序系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出PSW PCLA:PSW1 PC1硬件OS中断处理程序系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出PSW PCLA:PSW1 PC1硬件OS中

15、断处理程序系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出PSW PCLA:PSW1 PC1硬件OS中断处理程序系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出LA:PSW1 PC1PSW, PC硬件OS中断处理程序系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出LA:PSW, PCPSW LA硬件OS中断处理程序系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出LA:PSW, PCPSW LA硬件OS中断处理程序系统栈PSW1, PC1 PC1:ret运行程序中断续元续元表用户栈PSW, LA溢出LA:PSW PC硬件OS中断处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论