1.8 操作系统的运行环境.ppt
文本预览下载声明
什么是中断? 指CPU对系统中或系统外发生异步事件的响应 异步事件是指无一定时序关系的随机发生事件 如外部设备完成数据传输、实时设备出现异常等 “中断”名称源于: 当异步事件发生后,打断了对当前程序的执行 而转去处理该异步事件 直到处理完了后,再转回原程序中断点继续执行 1.8.3 中断技术 * 从用户角度看中断 * 引入中断的目的 解决主机与外设的并行工作问题 提高可靠性 实现多机联系 实现实时控制 特点: 1) 中断是随机的 2) 中断是可恢复的 3) 中断是自动处理的 * 中断源:引起中断发生的事件 中断寄存器:记录中断 系统堆栈:内存中的一块区域,用于保存现场 几个概念 * 中断类型 强迫性中断 正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的 自愿性中断 用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生 * 强迫性中断 输入/输出(I/O)中断:主要来自外部设备通道 程序性中断:运行程序中本身的中断 (如被0除,缺页中断,缺段中断,地址越界) 时钟中断 控制台中断 硬件故障中断 * 自愿性中断 又称访管中断 执行I/O指令,创建进程,分配内存 信号量操作,发送/接收消息 * IBM370中的中断 1. 机器故障中断:如电源故障、电路检验出错等 2. 输入输出中断:I/O设备完成任务时产生 3. 外部中断:时钟中断、多机系统中其它CPU的通信要求中断等 4. 程序中断:程序中的问题引起的中断,如错误地使用指令或数据、存储保护等 5. 访管中断:每当CPU执行访管指令时,即引起中断并调用操作系统相应的功能模块为其服务 * 中断系统 中断系统的两大组成部分:硬件中断装置和软件中断处理程序 中断装置-中断系统的机制部分 负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序 中断处理程序-中断系统的策略部分 * 中断装置的基本功能 发现中断 响应中断:保护现场、找到恰当的中断处理程序 * 处理器如何发现中断信号? 处理器的控制部件中设一个能检测中断的机构,称为中断扫描机构 在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号 若无中断信号,继续执行下一条指令 若有中断,中断硬件就进行中断响应 发现中断 * 中断向量表:存放所有中断处理程序的入口地址。主存最低端的若干个字节。中断向量? 关中断 保存中断现场 根据中断向量表设置新运行现场 开中断 执行中断处理程序 关中断 恢复被中断程序的现场 开中断 返回断点,继续执行 此时允许中断嵌套。即优先级更高的中断请求可以打断低级中断的处理。 设备发中断信号 CPU向设备发确认中断信号 中断处理过程 * 中断处理一般过程: (1)设备给处理器发一个中断信号 (2)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送确认中断信号,确认信号使得该设备将中断信号恢复到一般状态 (3)处理器开始为软件处理中断做准备: 保存中断点的程序执行上下文环境,这通常包括程序状态字PSW,程序计数器PC,一些寄存器的值,它们通常保存在系统栈中 * (4)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序 (5)中断处理程序开始工作 (6)中断处理结束时,执行中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复,处理器状态恢复成原来的状态。 (7)PSW和PC被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束 * 设备控制器或其他系统硬件发出中断 处理器完成当前指令的执行 处理器接受中断 处理器将PSW和PC推入系统堆栈 处理器根据中断类型读入新的PC和PSW值 中断系统硬件完成的工作 * 保存CPU状态的其余信息 执行中断处理程序 恢复CPU状态信息 从系统堆栈恢复原PSW和PC 中断系统软件完成的工作 * 中断的其它问题 中断优先级 在一些机器中,中断优先级按中断类型划分: 以机器故障中断的优先级最高 程序中断和访问管理程序中断次之 外部中断更次之 输入输出的优先级最低 * 中断屏蔽 在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽 在PSW中设置中断屏蔽码以屏蔽某些指定的中断类型 各设备接口中也有中断禁止位,以禁止该设备的中断 * 多个中断的处理 若中断处理过程中又发生中断,引起多中断处理问题 两种处理方法: 第一种: 处理一个中断时禁止中断,对任何新中断置之不理,当再次允许中断时,新中断才被响应。 * 多中断处理第一种处
显示全部