Skip to content

中断和异常的处理

考情分析

中断是操作系统的核心机制,中断的分类和处理流程是选择题高频考点。🔥🔥🔥 高频核心。

CPU 一旦开始执行用户程序就停不下来,操作系统靠什么机制把控制权"抢"回来?

中断的作用

中断是操作系统工作的驱动力。没有中断机制,操作系统无法:

  • 从用户态切换到内核态(无法获得 CPU 控制权)
  • 实现多道程序并发(无法抢占 CPU)
  • 处理 I/O 设备请求

中断的分类

外中断 vs 内中断

比较外中断(Interrupt)内中断(Exception)
来源CPU 外部CPU 内部(指令执行过程中)
检测时机指令执行完毕指令执行过程中
典型来源时钟、I/O 设备非法操作、地址越界、缺页

内中断的三种类型

类型特点处理方式举例
陷入 Trap用户有意为之处理后执行下一条指令系统调用
故障 Fault可恢复的错误修复后重新执行引起故障的指令缺页异常
终止 Abort不可恢复的错误终止进程硬件故障、非法指令

区分 Trap 和 Fault 的关键

Trap 是主动触发的,返回后执行下一条指令。Fault 是被动发生的错误,修复后重新执行当前指令。

中断处理流程

硬件完成 vs 软件完成

阶段由谁完成具体操作
关中断硬件自动设置 IF=0
保存断点硬件将 PC(和 PSW)压栈
查向量表硬件根据中断号找到入口地址
保存/恢复现场软件(OS)保存通用寄存器等
中断处理软件(OS)执行具体的处理逻辑

中断向量表

中断向量:中断处理程序的入口地址

中断向量表:按中断号索引的数组,每个表项存放对应中断处理程序的入口地址——类似于急诊分诊台的科室电话簿,拿到编号就能直接找到对应的处理入口。

中断号 → 入口地址
  0    → 除零异常处理程序
  1    → 调试异常处理程序
  ...
  14   → 缺页异常处理程序
  ...
  32+  → 外设中断处理程序

中断屏蔽

概念说明
可屏蔽中断可以通过设置中断屏蔽字来暂时忽略
不可屏蔽中断无法屏蔽,必须立即处理(如电源故障)
IF 标志位IF=1 允许响应可屏蔽中断,IF=0 禁止

考研高频考点

  • 🔥🔥🔥 中断/异常的分类(外中断 vs 内中断,Trap/Fault/Abort)
  • 🔥🔥🔥 中断处理流程(硬件完成 vs 软件完成的分界)
  • 🔥🔥🔥 缺页异常属于 Fault(修复后重新执行当前指令)
  • 🔥🔥 中断是 OS 获取 CPU 控制权的唯一途径
  • 🔥🔥 中断向量 = 中断处理程序的入口地址
  • 🔥 可屏蔽中断 vs 不可屏蔽中断

中断机制让 OS 能夺回 CPU 控制权,而用户程序主动请求 OS 服务的方式就是系统调用——下一篇详解系统调用的概念和执行流程。

真题练习

相关真题(15题)

2026Q24选择题2分

虚拟存储:地址转换由硬件MMU完成,异常由OS处理

2026Q32选择题2分

中断处理:中断处理程序将数据从设备数据寄存器传输到内核缓冲区

2025Q23选择题2分

中断与异常:中断可在用户态发生,处理时才进入内核态

2024Q24选择题2分

OS初始化:中断向量表在操作系统初始化时创建

2023Q24选择题2分

中断向量表:需要按中断号直接索引,适合用数组

2022Q31选择题2分

中断处理:中断服务程序将数据送入内核缓冲区

2021Q26选择题2分

中断处理分工:保存断点由硬件完成,中断服务/初始化向量表/保存屏蔽字由OS完成

2020Q45综合题7分

综合题:信号量操作的互斥实现,开/关中断方法的正确性分析

2018Q29选择题2分

时钟中断:更新系统时钟、CPU占用时间和剩余时间片

2015Q23选择题2分

中断处理:OS保存通用寄存器,PC由硬件保存

2015Q24选择题2分

态切换:NOT是普通算术指令,不会引起态切换

2013Q28选择题2分

态切换:除零异常和read系统调用进入内核态,sin()是库函数不进入

2012Q24选择题2分

中断vs调用:中断必须保存PSW(含中断屏蔽位等),子程序调用不需要

2010Q23选择题2分

外部中断:键盘输入是外部设备中断,其他是内部异常

2010Q32选择题2分

键盘输入:中断处理程序首先获得键盘输入信息