什么是中断处理程序
在响应一个特定中断的时候,内核会执行一个函数,该函数叫做中断处理程序或中断服务例程。产生中断的每一个设备都有一个相应的中断处理程序。一个设备的中断程序是它设备驱动程序的一部分,设备驱动程序是用于对设备进行管理的内核代码。在Linux中,中断处理程序看起来是普普通通的C函数。这些函数必须按照特定的类型声明,以便内核能够以标准的方式传递处理程序的信息。中断处理程序与其它内核函数的真正区别在于:中断处理程序被内核调用来响应中断,它们运行于中断上下文的特殊上下文中。 上半部与下半部的对比:通常把中断处理切为两个部分或两半。中断处理程序是上半部接收到一个中断,立即开始执行,但只做有严格时限的工作,这些工作都是在所有中断被禁止的情况下完成。能够被允许稍后完成的工作会推迟到下半部。在合适的时机,下半部会被开中断执行。
![](http://yyk.iask.sina.com.cn/pic/fimg/160992412748276973661.jpg)