驱动程序入门讲解

上传人:我** 文档编号:114440017 上传时间:2019-11-11 格式:DOCX 页数:18 大小:382.17KB
返回 下载 相关 举报
驱动程序入门讲解_第1页
第1页 / 共18页
驱动程序入门讲解_第2页
第2页 / 共18页
驱动程序入门讲解_第3页
第3页 / 共18页
驱动程序入门讲解_第4页
第4页 / 共18页
驱动程序入门讲解_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《驱动程序入门讲解》由会员分享,可在线阅读,更多相关《驱动程序入门讲解(18页珍藏版)》请在金锄头文库上搜索。

1、什么是驱动程序?为术语“驱动程序”给出单一的准确定义比较困难。就最基本的意义而言,驱动程序是一个软件组件,可让操作系统和设备彼此通信。例如,假设应用程序需要从设备中读取某些数据。应用程序会调用由操作系统实现的函数,操作系统会调用由驱动程序实现的函数。驱动程序(由设计和制造该设备的同一公司编写)了解如何与设备硬件通信以获取数据。当驱动程序从设备获取数据后,它会将数据返回到操作系统,操作系统将数据返回至应用程序。扩大定义到目前为止,我们的说明采用以下几种方式进行简单化: 并非所有驱动程序都必须由设计该设备的公司编写。在多种情形下,设备根据已发布的硬件标准来设计。这表示驱动程序可以由 Microso

2、ft 编写,设备设计者无须提供驱动程序。 并非所有驱动程序都直接与设备通信。对于给定的 I/O 请求(如从设备读取数据),通常有一些驱动程序(在堆栈中进行分层)参与该请求。可视化堆栈的传统方式是将第一个参与对象放在顶部,将最后一个参与对象放在底部,如此图所示。堆栈中的某些驱动程序可能通过将请求从一种格式转换至另一种格式来参与。这些驱动程序不会与设备直接通信;它们只操纵请求并将请求传递至堆栈下方的驱动程序。堆栈中直接与设备通信的一个驱动程序称为“函数驱动程序”;执行辅助处理的驱动程序称为“筛选器驱动程序”。 某些筛选器驱动程序遵守并记录有关 I/O 请求的信息,但不会主动参与这些请求。例如,某些

3、筛选器驱动程序充当验证程序以确保堆栈中的其他驱动程序正确处理 I/O 请求。我们可以扩大“驱动程序”的定义,方法是表示驱动程序为遵守或参与操作系统与设备之间通信的任一软件组件。软件驱动程序我们的扩大定义相当准确,但仍不完整,原因是某些驱动程序与任何硬件设备根本不关联。 例如,假设你需要编写可以访问核心操作系统数据结构的工具,这些结构仅可以由内核模式下运行的代码进行访问。可以通过将工具拆分成两个组件来执行该操作。第一个组件在用户模式下运行且提供用户界面。第二个组件在内核模式下运行且可以访问核心操作系统数据。在用户模式下运行的组件称为应用程序,在内核模式下运行的组件称为“软件驱动程序”。软件驱动程

4、序与硬件设备不关联。有关处理器模式的详细信息,请参阅用户模式和内核模式。此图说明了与内核模式软件驱动程序通信的用户模式应用程序。其他说明软件驱动程序始终在内核模式下运行。编写软件驱动程序的主要原因是获取对仅在内核模式下可用的受保护数据的访问权限。但是设备驱动程序不会始终需要访问内核模式数据和资源。因此某些设备驱动程序在用户模式下运行。有一系列的驱动程序我们尚未提及,“总线驱动程序”。若要了解总线驱动程序,你需要了解设备节点和设备树。有关设备树、设备节点以及总线驱动程序的信息,请参阅设备节点和设备堆栈。到目前为止,我们的说明过度简化了“函数驱动程序”的定义。我们表示设备的函数驱动程序为堆栈中直接

5、与设备通信的一个驱动程序。对于直接连接到外围组件互连 (PCI) 总线的设备而言,以上为真。PCI 设备的函数驱动程序获取映射到设备上端口和内存资源的地址。函数驱动程序通过写入这些地址直接与设备通信。但是在多种情形下,设备未直接连接到 PCI 总线。相反设备连接到的主机总线适配器连接到 PCI 总线。例如,USB toaster 连接到主机总线适配器(称为 USB 主控制器),该适配器连接到 PCI 总线。USB toaster 具有函数驱动程序,USB 主控制器也具有函数驱动程序。toaster 的函数驱动程序与 toaster 间接通信,方法是将请求发送至 USB 主控制器的函数驱动程序。

6、然后,USB 主控制器的函数驱动程序与 USB 主控制器硬件直接通信,该硬件与 toaster 通信。是否需要编写驱动程序?0(共 1)对本文的评价是有帮助-评价此主题Microsoft Windows 包含适用于许多设备类型的内置驱动程序。如果有适用于你的设备类型的内置驱动程序,则不必自行编写驱动程序。你的设备可以使用内置的驱动程序。适用于 USB 设备的内置驱动程序如果你的设备属于由 USB 设备工作组 (DWG) 定义的设备类,则可能已经存在适用于该设备的 Windows USB 类驱动程序。有关详细信息,请参阅支持的 USB 设备类的驱动程序。适用于其他设备的内置驱动程序目前,Micr

7、osoft 为以下其他类型的设备提供内置驱动程序:设备技术和驱动程序内置驱动程序Windows 支持描述ACPI:ACPI 驱动程序Acpi.sysWindows XP 及更高版本Microsoft 通过 Acpi.sys 驱动程序和 ACPI BIOS,为基本的 ACPI 设备功能提供支持。为增强 ACPI 设备的功能,供应商可以提供 WDM 功能驱动程序。有关 Windows ACPI 支持的详细信息,请参阅 ACPI 设计指南中的支持 ACPI 设备。音频:Microsoft 音频类驱动程序PortCls.sysWindows XP 及更高版本Microsoft 通过自身的端口类驱动程序

8、 (PortCl) 为基本的音频渲染和音频捕捉提供支持。音频设备的硬件供应商有责任提供兼容 PortCl 的适配器驱动程序。适配器驱动程序包括初始化代码、驱动程序管理代码(包括 DriverEntry 功能)和音频微型端口驱动程序的集合。 有关详细信息,请参阅端口类简介。总线:本机 SD 总线驱动程序、本机 SD 存储类驱动程序和存储微型端口驱动程序sdbus.sys、sffdisk.sys、sffp_sd.sysWindows Vista 及更高版本Microsoft 为 SD 读卡器提供如下支持:操作系统为直接连接到 PCI 总线的 SD 主机控制器提供支持。 当系统枚举 SD 主机控制器

9、时,会加载本机 SD 总线驱动程序 (sdbus.sys)。如果用户插入 SD 内存卡,则除总线驱动程序以外,Windows 还会加载本机 SD 存储类驱动程序 (sffdisk.sys) 和存储微型端口驱动程序 (sffp_sd.sys)。如果用户插入具有其他类型功能的 SD 卡(例如 GPS 或无线 LAN),则 Windows 会加载供应商为该设备提供的驱动程序。HID:HID I2C 驱动程序HIDI2C.sysWindows 8 及更高版本Microsoft 为支持简单外设总线 (SPB) 和通用 I/O (GPIO) 的 SoC 系统上的 HID over I2C 设备提供支持。它

10、通过 HIDI2C.sys 驱动程序实现此支持。有关详细信息,请参阅HID over I2C。HID:传统游戏端口驱动程序HidGame.sys、Gameenum.sysWindowsVistaWindows Server2003WindowsXP在 WindowsVista 及更早版本中,Microsoft 通过 HidGame.sys 和 Gameenum.sys 驱动程序为传统(非 USB、非蓝牙、非 I2C)游戏端口提供支持。有关详细信息,请参阅Windows 中支持的 HID 传输。HID:传统键盘类驱动程序Kbdclass.sysWindows XP 及更高版本Microsoft

11、通过 Kbdclass.sys 驱动程序为传统(非 USB、非蓝牙、非 I2C)键盘提供支持。有关详细信息,请参阅键盘和鼠标 HID 客户端驱动程序。为增强传统键盘的功能,供应商可以提供键盘筛选器驱动程序。有关详细信息,请参阅MSDN 代码库中的 Kbfiltr 示例。HID:传统鼠标类驱动程序Mouclass.sysWindows XP 及更高版本Microsoft 通过 Mouclass.sys 驱动程序为传统(非 USB、非蓝牙、非 I2C)鼠标提供支持。键盘和鼠标 HID 客户端驱动程序。为增强传统鼠标的功能,供应商可以提供鼠标筛选器驱动程序。有关详细信息,请参阅MSDN 代码库中的

12、Moufiltr 示例。HID:PS/2 (i8042prt) 驱动程序I8042prt.sysWindows XP 及更高版本Microsoft 通过 I8042.sys 驱动程序为传统 PS/2 键盘和鼠标提供支持。为增强 PS/2 鼠标或键盘的功能,供应商可以提供键盘或鼠标筛选器驱动程序。有关详细信息,请参阅 MSDN 代码库中的Kbfiltr 示例和Moufiltr 示例。映像:设备的 Web 服务 (WSD) 扫描类驱动程序WSDScan.sysWindows Vista 及更高版本Microsoft 通过 WSD 扫描驱动程序 (wsdscan.sys) 为 Web 服务扫描程序(

13、即在 Web 上使用的扫描程序)提供支持。但是,支持 WSD 分布式扫描管理的 Web 服务扫描程序设备必须实现两个 Web 服务协议。有关详细信息,请参阅使用设备 Web 服务的 WIA。打印:Microsoft 绘图仪驱动程序MsplotWindows XP 及更高版本Microsoft 通过 Microsoft 绘图仪驱动程序 (Msplot) 为支持惠普图形语言的绘图仪提供支持。为增强绘图仪的功能,你可以创建由一个或多个绘图仪特性数据 (PCD) 文件组成的微型驱动程序。有关详细信息,请参阅绘图仪驱动程序微型驱动程序。打印:Microsoft PostScript 打印机驱动程序Psc

14、riptWindows XP 及更高版本Microsoft 通过 PostScript 打印机驱动程序 (Pscript) 为 PostScript 打印机提供支持。为增强 PostScript 打印机的功能,你可以创建由一个或多个 PostScript 打印机描述 (PPD) 文件和字体 (NTF) 文件组成的微型驱动程序。有关详细信息,请参阅Pscript 微型驱动程序。打印:Microsoft 通用打印机驱动程序UnidrvWindows XP 及更高版本Microsoft 通过通用打印机驱动程序 (Unidrv) 为非 PostScript 打印机提供支持。为增强非 PostScrip

15、t 打印机的功能,你可以创建由一个或多个通用打印机描述 (GPD) 文件组成的微型驱动程序。有关详细信息,请参阅Microsoft 通用打印机驱动程序。打印:Microsoft 第 4 版打印机驱动程序Windows 8 及更高版本从 Windows8 开始,Microsoft 提供了支持 PostScript 和非 PostScript 打印机以及绘图仪的单个内置类驱动程序。该驱动程序可取代 Microsoft 绘图仪驱动程序、Microsoft 通用打印机驱动程序和 Microsoft PostScript 打印机驱动程序。该打印机驱动程序可通过自身提供基本的打印支持,无需任何修改。有关详

16、细信息,请参阅第 4 版打印机驱动程序。打印:Microsoft XPS 打印机驱动程序XPSDrvWindows Vista 及更高版本Microsoft 通过 XPS 打印机驱动程序 (XPSDrv) 为打印 XPS 文档格式提供支持。该驱动程序扩展了 Microsoft 基于 GDI 的第 3 版打印机驱动程序体系结构,可支持消耗 XML 纸张规范 (XPS) 文档。通过 XPSDrv 打印机驱动程序,XPS 文档格式可用作后台打印文件格式和文档文件格式。该 XPSDrv 打印机驱动程序可通过自身提供基本的 XPS 打印支持,无需任何修改。有关详细信息,请参阅XPSDrv 打印机驱动程序。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号