第1页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共7页大连民族学院毕业设计(论文)外文文献原文及译文学院:计算机科学与工程专业:网络工程班级:网络062班学生姓名:刘安旭指导教师:王立明等待和出列的IRP第2页共7页第1页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共7页因为I/O管理器支持异步多任务和多线程在一个系统,尤其是在多处理器的机器,I/O可以请求一个快于驱动程序的设备完成处理,
因此,IRP要绑定到已经忙于处理其它IRP的设备,必须在驱动程序中等待
因此,最底层的驱动程序需要具备以下条件之一:•StartIo例程,它的I/O管理器调用已经在系统提供的IRP队列中等待的I/O操作IRP驱动程序(见IoStartPacket)
•内部IRP的等待和出列机制,使用中的管理IRP驱动程序的处理速度能够满足他们
驱动程序可以使用设备队列,互锁队列,或取消安全的队列
更多信息,参阅Driver-ManagedIRPQueues
只有最底层的设备驱动程序,能够满足和完成所有的IRP派遣例程,不需要StartIo例程和IRP驱动程序管理的队列
高层次的驱动程序多数没有StartIo
大多数中间驱动程序也没有StartIo内部队列
在IRPIoCompletion例程中,中间驱动程序通常可以通过使用IRP的有效的参数进行调度和后处理
下面的介绍,是大体而言,设计的考虑决定是否实行内在StartIo常规程序,和driver-managed等候IRP
StartIo程序驱动只有设备驱动程序能够处理电脑的外围设备的I/O操作,并可以实现StartIo常规事务
对于这些驱动程序、I/O管理器提供IoStartPacket和IoStartNextPacket程序队列和出入队IRP的system-suppliedIRP队