知识点
硬件中断
定义
硬件中断是设备、定时器等硬件向处理器发出的事件通知。它通常与当前执行的具体指令无关,因此称为异步事件。处理器在体系结构允许的时机响应中断,转入相应的处理程序。
例如,设备可以在一次输入输出完成后发出中断请求;定时器也可以产生中断以便内核处理计时与调度。定时器的位置、周期和触发方式由具体平台配置,不必都位于CPU内部,也不必始终采用固定周期。
与之相对,异常通常与当前指令的执行同步产生。中断与异常都可能引起执行流转移,但来源和返回行为不应混为一谈。
性质
一种简化的处理过程是:硬件提出请求,处理器响应并保存必要状态,内核运行处理程序,再恢复执行或根据调度结果运行其他线程。具体保存哪些寄存器、何时响应以及能否屏蔽,取决于体系结构与操作系统。
定时器事件可以让内核更新计时和调度状态。处理一次中断并不必然切换进程;是否切换由内核当时的调度决定。
交互探索
选择设备请求或定时器事件,逐步查看请求、处理和恢复的简化过程。
设备或定时器的中断怎样得到处理?
逐步查看异步中断请求、处理和恢复。
正在准备演示…
题集
练习
按下键盘上的一个键,键盘控制器通知CPU的事件属于哪一类?
参考解答
键盘是CPU外部的输入设备,它发出的中断是异步的I/O硬件中断。
假设处理器内部定时器产生一个中断,它属于哪一类?
参考解答
题设中的定时器位于CPU内部;它的中断仍是异步的。不同系统的定时器位置和工作方式可能不同。
中断与异常最关键的区分是?
参考解答
CPU硬件中断来自内部但仍属异步;关键在于异常由当前指令同步触发。
时钟中断对多任务系统的主要作用是?
参考解答
时钟事件让内核有机会更新计时和调度状态;是否切换线程取决于调度策略与当时状态。