第三讲操作系统运行机制案例
高级中断处理 中级中断处理
低 级 中 断 处 理 中 级 中 断 处 理
低级中断处理
高 级 中 断 处 理
多级中断同时产生的CPU轨迹
College of Technology and Engineering /
高级中断打断低级中断的CPU轨迹
共28页 第15页
2.1 中断和陷入
中断优先级设计原则:一般来说,高速设备的中 断优先级高,慢速设备的中断优先级低。因为高速 设备的中断被处理机优先响应可以让处理机尽快地 向他发出下一个I/O请求,提高高速设备的利用率。
如PDP-11机上的UNIX系统把中断级别分为:
时钟中断:中断优先级=6级 磁盘中断:中断优先级=5级
College of Technology and Engineering /
共28页 第15页
2.1 中断和陷入
中断/陷入分类
中断(外中断)
广义中断 陷入(内中断、 例外、异常
I/O中断
时钟中断 机器故障 系统调用 程序性异常 缺页异常
中断(狭义)与陷入的区别:
终端等其它外设中断:中断优先级=4级
注:这里优先数越大,优先级别越高,但不一定, 由不同系统的设计而定
College of Technology and Engineering / 共28页 第15页
2.1 中断和陷入
中断屏蔽 概念:中断屏蔽指禁止处理机响应中断或禁止中 断出现,一般指前者。 方法: 硬件实现 (软件置处理机优先级,硬件按系统设计 时的约定屏蔽那些低优先级中断) 处理机优先级:指出处理机正运行程序的中断响应级别。
第一部分(内容三)
College of Technology and Engineering /
共28页 第8页
2.1 中断和陷入
引例:
假设在某小饭馆中,仅有一位大师傅,现有三 批客人几乎同时到达,第一批客人点6个菜,第二 批点8个菜,第三批点4个菜,请思考如何炒这多个 菜,才能使客人的满意度最高?
2.1 中断和陷入
概念
中断/陷入:指系统发生某个异步/同步事件后, 处理机暂停正在执行的程序,转去执行处理该事件 的程序,执行完后再返回的过程。
引入目的
中断的引入:为了开发CPU和通道(或设备)之间的 并行操作。当CPU启动通道(或设备)进行I/O后,通道 (或设备)可以独立工作了,CPU也可以转去做与此次 I/O不相关的事情,那么通道(或设备) I/O完成后,还 必须告诉CPU,让CPU继续I/O以后的事情,通道(或 设备)通过向CPU发中断告诉CPU此次输入输出结束。
2.2 中断/陷入响应和处理
中断/陷入响应
中断响应:中断信号是外部设备发给CPU的,故
在CPU的控制部件中需增设一个能检测中断的机构。 该机构能够在每条机器指令执行周期内的最后时刻 扫描中断寄存器,“询问”是否有中断信号。若无 中断信号,CPU继续执行程序的后续指令,否则
College of Technology and Engineering /
共28页 第15页
2.1 中断和陷入
中断优先级:中断的优先程度。原则上,高、低优 先级中断同时到先响应高级中断。高级中断可以打 断低级中断处理程序的运行,同级中断同时到时, 则按位序响应。
2.1 中断和陷入
陷入引入:用于表示CPU执行指令时本身出现算 术溢出,零做除数,取数时的奇偶错,访存指令越 界,或就是执行了一条所谓“陷入指令”(用于实 现系统调用)等情况,这时中断当前的执行流程, 转到相应的错误处理程序或陷入处理程序。 注:最早中断和陷入并没有区分,都把它们叫 做“中断”。随着它们的发生原因和处理方式的差 别愈发明显,才有了以后的中断和陷入。
即当处理机处于某一优先级时,只允许处理机去响应比该优先 级高的中断,而屏蔽低于或等于其的中断。可以通过置处理机 优先级来通知硬件(设置屏蔽寄存器)屏蔽优先级小于等于处理 机优先级的中断.例:以PDP-11机为例,当处理机优先级为5 时,系统将屏蔽磁盘、终端及其他外设中断,响应时钟中断。
College of Technology and Engineering / 共28页 第15页
分析:对于大师傅来说,设第一、二、三批 客人的点菜单对应任务A、B、C,对于A任务 又可细分为小任务A1、A2、…、A6,同理B 分为B1、B2、…、B8,C分为C1、…、C4。
2.1 中断和陷入
类比: 一个大师傅
一个“CPU”
如何完成多个点菜 单A、B、C?
如何运行多个程序 A、B、C?
中断是实现多道程 序并发运行的基础
… Technology and Engineering /
共28页 第15页
2.1 中断和陷入
中断的分级
中断优先级(响应级别) 思考:由于中断信号是由不同外部设备产生 的,可能在同一时刻由不同外设向CPU发出多 个中断信号,这样就存在谁先被响应、处理的 优先次序问题,该如何解决? 中断优 先级
2.1 中断和陷入
方法: 软件实现(由软件按操作系统优先级约定置屏蔽 寄存器)
中断寄存器 高优先级中断源 低优先级中断源 屏蔽寄存器
1 1
1 0
响应中断
中断屏蔽图示
College of Technology and Engineering / 共28页 第15页
中断: 与正执行指令无关,可以屏蔽 陷入: 与正执行指令有关,不可屏蔽
College of Technology and Engineering /
2.1 中断和陷入
中断的分级
中断信号的存储 —— “中断寄存器”
中断寄存器:寄存中断事件的全部触发器。
中断位:每个触发器称为一个中断位,当发生 某个中断事件时相应位被置1,否则为0。 中断序号:给中断的一个顺序编号. 1 0 0 1 1 2