中断在操作系统中有着特殊重要的地位,它是多道程序得以实现的基础,同时也是设备管理的基础,中断处理程序是I/O系统中最低的一层,它是整个I/O系统的基础。
1.中断简介
1. 中断和陷入
1) 中断 2) 陷入
2. 中断向量表和中断优先级
1) 中断向量表
中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址称为中断向量。在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令中直接给出、CPU自动形成等),即在中断响应期间8259A产生的是当前请求中断的最高优先级的中断源的中断类型号。中断类型号和中断向量之间有下面的关系: 中断类型号×4=存放中断向量的首地址 有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入口
2) 中断优先级
为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。
3. 对多中断源的处理方式
1) 屏蔽(禁止)中断
2) 嵌套中断
中断处理程序
当一个进程请求I/O 操作时,该进程将被挂起,直到I/O设备完成I/O操作后,设备控制器便向CPU发送一个中断请求,CPU响应后便转向中断处理程序,中断处理程序执行相应的处理,处理完后解除相应进程的阻塞状态。中断过程包括:
1.唤醒被阻塞的驱动(程序)进程
2.保护被中断进程的 CPU 环境
3.转入相应的设备处理程序
4.中断处理
5.恢复被中断进程的现场
中断全过程
中断全过程指的是从中断源发出中断请求开始,CPU响应这个请求,现行程序被中断,转至中断服务程序,直到中断服务程序执行完毕,CPU再返回原来的程序继续执行的整个过程。
执行过程
大体上可以把中断全过程分为5个阶段:中断请求、中断判优、中断响应、中断处理和中断返回。
中断处理
其中中断处理就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序的流程如下。
中断处理过程基本上由3部分组成,第一部分为准备部分,其基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序;第二部分为处理部分,即真正执行具体的为某个中断源服务的中断服务程序;第三部分为结尾部分,首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。中断服务程序的最后一条指令一定是中断返回指令。