加载中...
中断是硬件或软件向CPU发出的异步信号,用于打断当前执行流去处理紧急事件。操作系统通过中断处理机制响应外设、时钟和异常,是实现设备驱动与多任务并发的基础。

| 类型 | 硬件/软件机制 |
| 关键结构 | 中断向量表 |
| 典型分层 | 上半部/下半部 |
| 相关硬件 | 中断控制器 APIC |
中断处理机制是指CPU在收到中断信号后暂停当前程序、跳转到对应处理程序执行、完成后再恢复原程序的一整套流程。它让操作系统能够以事件驱动的方式响应键盘、磁盘、网卡、时钟等设备,而无需持续轮询。
中断分为硬件中断与软件中断两大类。硬件中断由外部设备产生,又分可屏蔽中断和不可屏蔽中断;软件中断则由指令主动触发,如系统调用和异常。CPU通过中断向量表(在x86上称为中断描述符表)将中断号映射到具体的处理入口地址。当中断到来时,处理器保存现场、关闭中断响应、执行中断服务例程,最后恢复现场并返回。
几乎所有设备驱动都依赖中断:网卡收到数据包触发中断通知内核收包;磁盘完成读写后中断唤醒等待进程;时钟中断驱动进程调度与时间片轮转。中断机制也是实现抢占式多任务和低延迟响应的关键。
问:中断和轮询有什么区别?答:轮询是CPU主动反复查询设备状态,浪费周期;中断是设备就绪时才通知CPU,效率更高,但高频中断也会带来开销,故有中断合并等优化。
问:为什么中断处理要分上半部和下半部?答:上半部通常关中断执行,时间越短越好,否则会丢失其他中断;把不紧急的工作放到下半部,可在开中断状态下从容处理。

| 类型 | 硬件/软件机制 |
| 关键结构 | 中断向量表 |
| 典型分层 | 上半部/下半部 |
| 相关硬件 | 中断控制器 APIC |
登录 后参与讨论
暂无讨论,来发表第一条评论吧