[操作系统]中断机制总结

中断的概念

中断是指处理器对系统或者系统外发生的异步事件的响应;异步事件是不定时的随机发生的事件。

中断的名字源自于:当正在进行某个事件时,发生了某个异步事件就中断了当前事件的执行而去完成异步事件。处理完成异步事件后再回到当前事件继续工作。通俗点就是:正在学习的时候突然想上厕所,则中断学习去上厕所,上完后就回到学习。这一过程。

一般来说,中断具有以下的作用:

  1. 能够充分发挥处理器的使用效率
  2. 提高系统的实时能力

异常的概念

早期异常和中断都属于中断;异常是属于正在执行的事件内发起的,而中断是外部异步事件发起的;

中断的分类

  1. 时钟中断:处理器内部的计时器触发的中断。
  2. 输入输出中断:由I/O控制器产生的中断。
  3. 控制台中断:系统管理员发出命令。
  4. 硬件故障中断:由掉电、存储器校验等硬件故障引起的。

异常的分类

  1. 程序性中断:某些执行结果导致的异常,比如算术溢出、被零除、调用非法指令、无权限访问目录等
  2. 访管指令异常

中断系统(中断处理)

中断系统分为两个部分,分别是:中断系统的硬件中断装置、软件中断处理程序

  • 中断请求的接收
    • 通过计算机硬件的中断逻辑线路和中断寄存器实现中断信号接收
  • 中断响应
    1. 处理器接收中断信号
    2. 保护现场,将中断断点的程序状态字PSW和程序计数器PC存入到系统堆栈
    3. 分析中断向量,取得中断处理程序的入口地址
    4. 将处理器的程序计数器(PC)置为中断处理程序的入口地址
    5. 调用中断处理程序
  • 中断处理

中断整个过程归纳为:

  1. 接收和响应中断
  2. 保护中断断点现场
  3. 分析中断向量
  4. 调用中断处理程序
  5. 中断处理结束恢复现场
  6. 原有程序继续

典型的中断处理:

  1. I/O中断
  2. 时钟中断
  3. 硬件故障中断
  4. 程序性中断
  5. 系统服务请求(自愿性中断)

中断响应顺序

  • 固定的优先数,比如离处理器近的设备优先响应,离远的后响应
  • 轮转法,使用一个表格,依次轮转响应,比较公平的方法