文件名称:Linux驱动初级——内核中断
文件大小:270KB
文件格式:PDF
更新时间:2014-11-05 03:44:43
Linux 驱动 内核 中断
linux驱动开发文档 以下内容基于 linux-2.6.35 1 什么是中断 Linux 内核需要对连接到计算机上的所有硬件设备进行管理,毫无疑问这是它的份内事。 如果要管理这些设备,首先得和它们互相通信才行,一般有两种方案可实现这种功能: l 轮询(polling) 内核定期对设备的状态进行查询,然后做出相应的处理; l 中断(interrupt) 硬件在需要的时候向内核发出信号(变内核主动为硬件主动)。 第一种方案会让内核做不少的无用功,因为轮询总会周期性的重复执行,大量地耗用CPU 时间,因此效率及其低下,所以一般都是采用第二种方案。 从物理学的角度看,中断是一种电信号,由硬件设备产生,并直接送入中断控制器的输入 引脚上,然后再由中断控制器向处理器发送相应的信号。处理器一经检测到该信号,便中断 自己当前正在处理的工作,转而去处理中断。此后,处理器会通知OS 已经产生中断。这 样,OS 就可以对这个中断进行适当的处理。不同的设备对应的中断不同,而每个中断都通 过一个唯一的数字标识,这些值通常被称为中断请求线