操作系统-中断机制

中断的定义

  CPU中止正在执行的程序,转去处理随机提出的请求,待处理完后,再回到原先被打断的程序继续恢复执行的过程称为中断
  中断机制是操作系统中极为重要的一个部分。操作系统在管理输人输出设备时,在处理外部的各种事件时,都需要通过中断机制进行处理。所以也有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”的。由于中断机制的实现必须依靠相关的硬件支持,所以硬件中断装置是操作系统运行环境中的一个极为重要的组成部分。中断的实现是硬件中断装置和相应的中断处理软件共同完成的。

中断系统的定义

  响应和处理各种中断的软硬件的总体称为中断系统,它是计算机系统的重要组成部分。

中断系统的工作原理

  中断系统的功能包括中断请求的保存和清除,优先级的确定,中断断点及现场的保存,对中断请求的分析和处理以及中断返回等。
  引起中断的各种事件称为中断源,中断源向中断系统发出请求中断的申请,称为中断请求。同时可能有多个中断请求,中断系统需按事先确定的中断响应优先次序对优先级高的中断请求予以响应。
  中断响应就是允许其中断CPU现行程序的运行,转去对该请求进行预处理,包括保存好断点及其现场,调出有关处理该中断的中断服务程序,准备运行。
  这部分工作在多数计算机上都用交换新旧程学状态字PSW来实现。为了某种需要,中断系统也可以对中断请求进行屏蔽,使之暂时得不到响应。

注意:关于中断响应和中断屏蔽可以参考这篇文章:中断级屏蔽位设置

中断嵌套

  一般在处理某级中的某个中断时,与它同级或比它优先级低的中断请求不能中断它的处理,只有比它高一级的中断请求才能中断其处理,等响应和处理完后再继续处理原先的中断请求。

中断和异常

  最早中断和异常并没有区分,都把它们叫作中断。随着它们的发生原因和处理方式的差别愈发明显,才有了现在的中断和异常之分,以便根据其不同的特点给予不同的控制和处理。

  • 异常:由现行程序引起的暂停事件,比如运算结果异常,页面失效等,一般不能屏蔽,需要立即相应处理。
  • 中断:指那些与当前程序运行无关的请求暂停事件(外部事件),比如机器故障中断,I/O中断等,可被屏蔽,未被响应的中断被暂存起来,直到屏蔽解除后仍可得到相应和处理。

由于中断与异常的硬件机制工作原理类似,为方便起见,之后的叙述中以中断涵盖两个概念。

中断的分类

  由于中断源比较多,但不少中断源的性质比较接近,可以对它们进行分类,对每一类给定一个中断服务程序的入口,再由软件分支转入相应的中断处理部分。这种分类在不同的系统中往往差异比较大,一般有以下几种分类方式。

根据中断源分类

根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。

  1. 内部中断由CPU内的异常引起;
  2. 外部中断由中断信号引起,又可分为可屏蔽中断和不可屏蔽中断;
  3. 软件中断由自陷指令引起,用于供操作系统服务。

根据中断功能分类(IBM 370系统):

  1. 输入输出中断
    输入输出中断是当外部设备或通道操作正常结束或发生某种错误时发生的中断。例如:I/O传输出错、I/O传输结束等。
  2. 外中断 对某中央处理机而言,他的外部非通道式装置所引起的中断称为外部中断。
    例如:时钟中断、操作员控制台中断、多机系统中CPU到CPU的通信中断。
  3. 机器故障中断,即机器校验中断
    当机器发生故障时所产生的中断叫硬件故障中断。例如:电源故障、通道与主存交换信息是主存储错、从主存取指令出错、取数据错、长线传输时的奇偶校验错等。
  4. 程序性中断
    在现行程序执行过程中,发现了程序性的错误或出现了某些程序的特定状态而产生的中断称为程序性中断。这些程序性错误有定点溢出、十进制溢出、十进制数错、地址错、用户态下用核态指令、越界、非法操作等。程序的特定状态包括逐条指令跟踪、指令地址符合跟踪、转态跟踪、监视等。
  5. 访管中断 对操作系统提出某种需求(如请求I/O传输、建立进程等)时所发出的中断称为访管中断。
  6. 重启中断。

其中,程序性中断和访管中断可细分为异常。
另外,在中断的优先次序中,一般,机器校验中断为第一级,程序性和管理程序调用为第二级,外部为第三极,I/O为第四级,重启为最低级。

根据中断方式分类

  1. 强迫性中断
  2. 自愿中断

输入输出中断、外中断、机器故障中断、程序性中断属于强迫性中断。访管中断属于自愿中断。

Java基础不好的小水怪,正在学习。有错请指出,一起加油。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值