3

什么是 Windows 操作系统中的驱动程序堆栈?

我正在阅读NDIS中的材料,但不知道它是什么。

4

2 回答 2

5

Windows 驱动程序模型(WDM)使用分层方法,其中给定设备由至少两个驱动程序提供服务:总线驱动程序和 功能驱动程序。设备可能还具有过滤驱动程序,用于增加价值或修改设备的行为。为设备服务的驱动程序链称为驱动程序堆栈

       Windows 中的分层驱动程序架构

(来自: http: //www.microsoft.com/whdc/archive/wdmoverview.mspx


另请参阅:设备驱动程序介绍,特别是“设备驱动程序堆栈”的第 5 节。

于 2010-11-23T08:57:53.617 回答
1

如果您熟悉设计模式,一个很好的比喻是装饰器。作为示例,我将采用 BufferedReader 和任何其他类型的阅读器。因此,您拥有基本的(并且可能不是非常高效的阅读器)并且您想要即时而不关心如何使其缓冲并加快性能,因此您创建了一个包装底层 Reader 对象的 BufferedReader。

驱动程序堆栈的概念是相似的——你可能有你的较低级别的驱动程序,它会将字符写入设备,但你可以在它上面附加另一个驱动程序,它会混淆它获得的每个字符,基本上你有一个完整的加密堆栈。这样,底层驱动程序对正在发生的整个“魔法”一无所知,它完全按照它的用途 - 将字符写入块设备。

于 2011-07-29T18:31:39.360 回答