中断和异常学习卡片

🔄

中断的作用

核心功能
使操作系统内核强行夺回CPU控制权,实现CPU从用户态内核态的转换
必要性
没有中断机制时,应用程序将独占CPU无法实现多道程序并发
是操作系统实现进程管理的技术基础
中断是控制权切换的唯一途径!
🔀

中断的类型

内中断(异常)
与当前执行指令直接相关,信号源自CPU内部
如:特权指令、除数为零等
外中断
与当前指令无关,信号源自CPU外部硬件
如:时钟中断、I/O中断
内=异常=指令相关,外=中断=指令无关
⚠️

异常子类

陷入(Trap)
故意引发的中断(如系统调用)
故障(Fault)
可修复错误(如缺页故障)
终止(Abort)
不可修复致命错误(如除零、非法指令)
Trap-主动,Fault-可修,Abort-致命
⚙️

中断实现原理

  1. 信号检测
    • 内中断:指令执行时即时检查
    • 外中断:指令周期末尾检查
  2. 程序查找:通过中断向量表查询处理程序入口
  3. 硬件支持:需要时钟部件等硬件配合
检测→查找→执行,内外检测时机不同
⏱️

时钟中断

来源
时钟部件定期发送(如每50ms)
作用
实现多道程序分时复用CPU
并发实现的关键
没有时钟中断就无法实现多道程序并发!
📞

系统调用

触发方式
通过非特权的陷入指令主动触发中断
特殊性质
唯一能在用户态执行的中断触发指令
系统调用=主动引发的Trap