中断概述
中断的概念
- 中断源:指引起中断的事件或发出中断请求的来源。
- 中断请求:中断源向CPU发出的请求,要求暂停当前执行的任务并处理紧急任务。
- 断点:当中断发生时,被打断程序的暂停点,即程序暂停的地方。
中断优先级和中断屏蔽
中断优先级
- 中断优先级是为了使系统能够及时响应和处理所有中断事件,系统会根据事件的重要性和紧急程度将中断源分为不同的级别。
- 一般情况下,中断优先级的顺序从高到低为:
- 硬件故障中断
- 自愿中断
- 程序性中断
- 外部中断
- 输入输出中断
中断屏蔽
- 中断屏蔽:为了防止低优先级的中断事件处理打断高优先级的中断,计算机系统采用中断屏蔽技术。根据是否可以屏蔽,中断分为两类:
- 不可屏蔽中断:一旦请求,CPU必须无条件响应。
- 可屏蔽中断:CPU可以选择响应或忽略。
中断的处理方式
-
顺序处理方式:
- 在这种方式下,当处理机正在处理一个中断时,屏蔽所有新的中断请求,直到当前中断处理完毕后再检查是否有新的中断。如果有新中断,继续按顺序处理。
-
嵌套处理方式:
- 当系统设置了中断优先级时,多个不同优先级的中断请求可能同时到达。系统会优先响应最高优先级的中断请求。
- 高优先级的中断请求能够抢占低优先级的中断处理,类似于进程调度中的抢占式调度。
中断处理过程
- 唤醒被阻塞的驱动进程:
- 当中断发生时,系统可能需要唤醒某些阻塞的进程来处理资源或完成特定任务。
- 保护被中断进程的CPU环境:
- 保存当前进程的状态(如寄存器值),确保能够在中断处理完成后恢复进程。
- 转入相应的设备处理程序:
- 根据中断源,跳转到对应的设备处理程序。
- 中断处理:
- 执行中断处理程序,处理相关的中断事件。
- 恢复被中断进程的现场:
- 中断处理完成后,恢复原进程的状态,继续执行被中断的任务。