【翻译】winddk翻译(五)--可配置
Kernel-Mode Driver Architecture: Windows DDK
可配置性
今天的外设必须能够做到硬件-配置(hardware-configurable),因此她们的驱动必须做到软件-配置(software-configurable)。
如果一个设备能够接受系统硬件资源不同的配置(比如I/O端口数量),而不必要进行特理上的更改,那么我们称该设备为硬件-可配置(hardware-configurable)设备。例如,如果有一些可热插拔的即插即用的磁盘连组成廉价冗余磁盘阵列(RAID),用户可以在系统运行进时,更换。如果一个设备是硬件-可配置(hardware configurable)的,她的驱动就不能够有硬编码(hard-coded),或者依赖于系统的设备硬件资源的值。
一个驱动器可称为软件-可配置(software-configurable),如果:
她能动态地接收或者改变她的设备硬件资源。
支持即插即用的驱动不包括设备硬件资源的值勤的硬编码,而且驱动也不会一直询问该设备来确定她的资源安排。相反地,系统动态地为这个设备安排资源,同时为其驱动安排资源值。
驱动并不对在驱动栈当中任何位于其上或者其下的驱动作任何假定。
比如, 一个为磁盘设计的底层设备驱动程序必须具有良好的扩展性,以便支持多种由多种高级文件系统驱动形成的文件系统,运行于同 一台电脑上。 除此之外,如果一台电脑有中够的大规模储存能力,在一个文件系统当中,底层磁盘驱动不应该与中间层驱动交流来支持整个系统的容错能力(被设计为镜像分区,stripe sets,或者卷设备) 。
即插即用管理器和每个即插即用硬件总路线驱动一同为特定类型的I/O总线和系统级软件提供不同平台之间访问的接口。即插即用管理器创建了一个设备树,设备树当中的每个节点都代表的系统当中的一个设备(包括总线)。即插即用管理器为每一个设备保持有两个列表:
一个使用中硬件的硬件资源列表
一个实际分配到设备的硬件资源列表
设备驱动程序协同即插即用管理器创建这两个列表,这两个列表储存于注册表当中。一个设备加入系统或者一个设备从系统当中移除,即插即用管理器都会重新配置那些必须配置的资源然后更新这两个列表。
系统的硬件抽象层(HAL)组件,被设计成动态链接库,为其他系统组件或者内核模式驱动提供一些硬件级别的,平台相关的支持。
Microsoft Corporation
Send feedback on this topic
Built on Friday, February 18, 2005
