标签:
(一):块设备的中断:
中断函数: request_irq() 函数将块设备驱动程序的中断服务子程序和特定的中断请求行联系起来。
驱动程序的中断服务子程序的中断过程如下:
(1):用户进程发出莫种类型的输入或输出请求(read()系统调用),或许先
通过高速缓冲存储,最终要求进行实际设备的输入/输出.
(2):调用设备驱动程序的read()函数,或者requset()函数,将完成输入/输出
操作的指令送给硬设备,现在设备驱动程序的等待操作的发生。
(3):一些时间以后,硬设备准备好完成指定的操作,并产生中断信号标志事件的发生。
(4):中断信号导致调用驱动程序的中断服务子程序,它将所要的数据从硬设备复制到设备驱动程序的
内存缓冲区,并通知正在等待的read()或request()函数,数据现在已经可供使用。
(5):在数据可供使用时,read()或request()函数现在可将数据提供给用户进程,上述的中断
过程是经过简化的,但反映了过程的主要方面。
(6):如果中断服务子程序需要改变一些数据结构,而内核其他部分也要改变这些数据结构。
(7):当发生硬设备的输入/输出请求时,驱动程序的read(),write()和request()函数又做
标签:
原文地址:http://www.cnblogs.com/cliuwei/p/4760619.html