中断和异常学习卡片
🔄
中断的作用
核心功能
使操作系统内核强行夺回
CPU控制权
,实现CPU从
用户态
到
内核态
的转换
必要性
没有中断机制时,应用程序将独占CPU无法实现
多道程序并发
是操作系统实现
进程管理
的技术基础
中断是控制权切换的唯一途径!
🔀
中断的类型
内中断(异常)
与当前执行指令
直接相关
,信号源自CPU内部
如:特权指令、除数为零等
外中断
与当前指令
无关
,信号源自CPU外部硬件
如:时钟中断、I/O中断
内=异常=指令相关,外=中断=指令无关
⚠️
异常子类
陷入(Trap)
故意引发
的中断(如系统调用)
故障(Fault)
可修复
错误(如缺页故障)
终止(Abort)
不可修复
致命错误(如除零、非法指令)
Trap-主动,Fault-可修,Abort-致命
⚙️
中断实现原理
信号检测
:
内中断:指令执行时即时检查
外中断:指令周期末尾检查
程序查找
:通过中断向量表查询处理程序入口
硬件支持
:需要时钟部件等硬件配合
检测→查找→执行,内外检测时机不同
⏱️
时钟中断
来源
时钟部件定期发送(如每50ms)
作用
实现
多道程序分时复用CPU
是
并发实现
的关键
没有时钟中断就无法实现多道程序并发!
📞
系统调用
触发方式
通过
非特权的陷入指令
主动触发中断
特殊性质
唯一能在
用户态
执行的中断触发指令
系统调用=主动引发的Trap