中断和异常是操作系统获得 CPU 控制权的基本机制。没有中断,OS 就无法实现进程切换、I/O 管理等核心功能。
| 类别 | 来源 | 同步/异步 | 说明 |
|---|---|---|---|
| 中断(外中断) | CPU 外部 | 异步 | 与当前执行的指令无关,随时可能发生 |
| 异常(内中断) | CPU 内部 | 同步 | 由当前执行的指令引起 |
| 陷入(Trap) | 程序主动 | 同步 | 有意触发,如系统调用 |
| 类型 | 来源 | 同步/异步 | 可否屏蔽 | 示例 |
|---|---|---|---|---|
| 可屏蔽中断 | 外设 | 异步 | 可以 | I/O 完成、时钟中断 |
| 不可屏蔽中断 | 硬件 | 异步 | 不可以 | 内存校验错误、电源掉电 |
| 故障 Fault | 指令 | 同步 | — | 缺页异常、段错误 |
| 陷阱 Trap | 程序主动 | 同步 | — | 系统调用、断点 |
| 终止 Abort | 硬件 | 同步 | — | 硬件故障 |
| 考法 | 解题套路 |
|---|---|
| 区分中断和异常 | 中断来自外部(异步),异常来自内部(同步) |
| 处理流程排序 | 关中断→保存现场→识别→执行服务→恢复→开中断 |
| 故障 vs 陷阱 vs 终止 | 故障可恢复重执行,陷阱执行下一条,终止不可恢复 |
| 中断向量表 | 表中每项是中断服务程序的入口地址,由中断向量号索引 |
| 中断嵌套 | 保存现场后可开中断,允许更高优先级中断 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。