关于IRP

fjiahao   2008-7-9 15:38 楼主
请问IRP是从应用程序发起的,还是操作系统由于硬件状态改变(如有数据进入)而产生的,并传给驱动程序?

还有一问:IRP是如何分发的?比如我的板卡发出一个中断信号(eg:  IRQ5),驱动程序应怎样编写来响应它?并且通知应用程序来取数据?

回复评论 (1)

Windows系统的函数CreateFile, ReadFile,WriteFile,DeviceIoControl等都可以产生对应的IRP.

硬件可以通过产生中断来调用驱动程序的中断服务例程.

对于第二个问题,问答起来比较复杂.
在操作系统中有一个IDT(中断分发表),CPU根据硬件的中断号,在IDT表中找到中断分发例程的指针,从而调用驱动程序.
点赞  2008-8-1 21:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复