480楼#
发布于:2002-10-25 13:30
w 固定部分:输出输入管理器用来保持原始输入请求信息,例如调用者线程
|
|
481楼#
发布于:2002-10-25 13:30
ID和调用参数,打开文件指定的设备对象,等等。固定部分同时包含一个输入输出状态,驱动程序用于返回输入输出操作的结果。
|
|
482楼#
发布于:2002-10-25 13:31
w 可变部分:数量不同的输入输出堆栈,用于支持分层的驱动程序结构。
|
|
483楼#
发布于:2002-10-25 13:31
w I/O管理器提供异步I/O支持以便I/O传输的发起者可以不必等待I/O操作的完成而继续它的工作。异
|
|
484楼#
发布于:2002-10-25 13:31
步I/O提高了用户应用的性能,也提高了驱动程序的性能。异步I/O使得驱动程序不必按照I/O请求到来
|
|
485楼#
发布于:2002-10-25 13:31
的顺序进行操作。这样,驱动程序内部必须维护I/O请求当前处理的阶段状态。
|
|
486楼#
发布于:2002-10-25 13:32
w 内核驱动程序处理I/O请求的次序不一定和这些I/O请求到达I/O管理器的次序相同。I/O管理器或高
|
|
487楼#
发布于:2002-10-25 13:32
层驱动也可以将大的数据请求块划分为多个小块来进行处理。而且,内核驱动并不一定串行的处理这些I/
|
|
488楼#
发布于:2002-10-25 13:32
O请求。这就是说,驱动程序不一定等到前一个IRP完成才去处理下一个IRP。
|
|
489楼#
发布于:2002-10-25 13:32
2 WDM驱动程序和I/O子系统的协同工作机制分析
|
|
490楼#
发布于:2002-10-25 13:32
在Windows驱动程序模型(WDM)出现之前Microsoft为它的两个系列操作系统提供了不同的驱动程序模
|
|
491楼#
发布于:2002-10-25 13:32
的不同,以至于程序员必须为每个设备在两种系统上分别编写、编译、调试驱动代码,这对于程序员来说
|
|
492楼#
发布于:2002-10-25 13:33
为统一驱动程序架构,减轻程序员的负担,微软推出了新型的WDM驱动程序模型,现在的Windows 98
|
|
493楼#
发布于:2002-10-25 13:33
(第二版)以及Windows 2000均采用了这个模型。而且微软已经宣布未来的Windows系列操作系统的驱动
|
|
494楼#
发布于:2002-10-25 13:33
模型将是基于WDM构架的。
|
|
495楼#
发布于:2002-10-25 13:33
Windows驱动程序模型(WDM)的设计思想是非常先进的,它迎合了当前的高级操作系统的设计的先
|
|
496楼#
发布于:2002-10-25 13:33
w 它是支持多处理器架构的,完全支持对称多处理
w 它是处理器无关的,支持多种处理器架构。 w 它完全支持即插即用和电源管理 |
|
497楼#
发布于:2002-10-25 13:34
尽管对于用户来说Windows 98 and Windows 2000下的模型是相同的,但是他们的工作机制是完全不同
|
|
498楼#
发布于:2002-10-25 13:34
的,以下将分别讨论。
|
|
499楼#
发布于:2002-10-25 13:35
2.1 Windows2000下的WDM驱动程序和I/O子系统的协同工作机制分析
|
|