一、中断
中断本质上是一种特殊的电信号,由硬件设备发向处理器。处理器接受到中断后,会马上向操作系统反映此信号的到来,然后就由操作系统负责处理这些新到来的数据。硬件设备生成中断的时候并不考虑与处理器的时钟同步,换句话说就是中断随时可以产生。因此,内核随时可能因为新到来的中断而被打断
不同的设备对应的中断不同,而每个中断都通过一个唯一的数字标志。
二、中断处理程序
在响应一个特定中断的时候,内核会执行一个函数,该函数叫做中断处理程序或中断服务例程。产生中断的每个设备都有一个相应的中断处理程序。例如,由一个函数专门处理来自系统时钟的中断,而另外一个函数专门处理由键盘产生的中断。一个设备的中断处理程序是它设备驱动程序的一部分,设备驱动程序是用于对设备进行管理的内核代码
中断可能随时发生,因此中断处理程序也就随时可能执行。所以必须保证中断处理程序能够快速执行,这样才能保证尽可能快的恢复中断代码的执行。因此,尽管对硬件而言,操作系统能迅速对其中断进行服务非常重要。当然对系统的其他部分而言,让中断处理程序在尽可能短的时间内完成运行也同样重要。最起码的,中断处理程序要负责通知硬件设备中断已接收:嗨,硬件,我听到你了,现在回去工作吧!但是中断处理程序往往还要完成大量其他的工具。例如:我们可以考虑以下网络设备的中断处理程序面临的挑战。该处理程序除了要对硬件应答,还要把来自硬件的网络数据包拷贝到内存&#