系统中断属于 硬件中断和软件中断的综合,具体可分为以下两类:
一、硬件中断(外中断)
由系统外部设备状态变化引发,例如:
磁盘读写完成
网络数据包接收
键盘输入/输出完成
电源管理事件(如电池低电)
特点
由硬件设备自动触发,无需程序主动请求
CPU暂停当前任务,转而执行硬件中断服务程序(ISR)
处理完毕后返回原程序继续执行
二、软件中断(内中断)
由程序执行中的异常事件引起,例如:
除零错误
缓存溢出
系统调用(如读写文件、网络请求)
超时或信号处理
特点
由程序主动触发,通过指令(如INT指令)请求CPU中断
可在程序执行的任何阶段发生,取决于程序逻辑
需通过系统调用接口与操作系统交互
三、中断执行流程
中断请求 硬件设备通过中断线发送信号
软件通过系统调用指令触发中断
中断响应
CPU暂停当前任务,保存现场(如寄存器状态)
跳转至中断服务程序(ISR)入口地址
中断处理
ISR执行特定任务(如数据传输、错误处理)
根据需要更新系统状态或数据
返回原程序
ISR执行完毕后,恢复现场
CPU跳转回原程序断点继续执行
四、注意事项
中断优先级: 硬件中断通常优先级高于软件中断,确保关键设备及时响应 中断冲突
中断嵌套:复杂系统中可能支持中断嵌套,即一个中断处理程序中可触发其他中断
通过硬件中断和软件中断的协同工作,操作系统能高效管理多任务与设备交互。