驱动程序入门.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是驱动程序? 为术语“驱动程序〞给出单一的准确定义比拟困难。就最根本的意义而言,驱动程序是一个软件 组件, 可让操作系统和设备彼此通信。例如,假设应用程序需要从设备中读取某些数据。应用程 序会调用由 操作系统实现的函数,操作系统会调用由驱动程序实现的函数。驱动程序〔由设计和 制造该设备的同 一公司编写〕了解如何与设备硬件通信以获取数摇。当驱动程序从设备获取数据 后,它会将数据返回 到操作系统,操作系统将数据返回至应用程序。 扩大定义 到目前为止,我们的说明采用以下几种方式进行简单化: ・并非所有驱动程序都必须由设计该设备的公司编写。在多种情形下,设备根据巳发布的 硬件标 准来设计。这表示驱动程序可以由Microsoft编写,设备设计者无须提供驱动 程序。 ・ 并非所有驱动程序都直接与设备通信。对于给定的I/O请求〔如从设备读取数据〉, 通常有一 些驱动程序〔在堆栈中进行分层〕参与该请求。可视化堆栈的传统方式是将第 一个参与对象 放在顶部,将最后一个参与对象放在底部,如此图所示。堆栈中的某些驱 动程序可能通过将 请求从一种格式转换至另一种格式来参与。这些驱动程序不会与设备 直接通信;它们只操纵 请求并将请求传递至堆栈下方的驱动程序。 堆栈中直接与设备通信的一个驱动程序称为“函数驱动程序〞;执行辅助处理的驱动程 序称 为“筛选器驱动程序〞。 •某些筛选器驱动程序遵守并记录有关I/O 请求的信息,但不会主动参与这些请求。例 如,某些筛选器驱动程序充当 验证程序以确保堆栈中的其他驱动程序正确处理I/O 请 求。 我们可以扩大“驱动程序〞的定义,方法是表示驱动程序为遵守或参与操作系统与设备之间通信 的任一软件组件。 软件驱动程序 我们的扩大定义相当准确,但仍不完整,原因是某些驱动程序与任何硬件设备根本不关联。例如,假设你需要编写可以访 问核心操作系统数摇结构的工具,这些结构仅可以由核模式下运行的代码进行访问。可以通过将工具拆分成两个组件来执 行该操作。第一个组件在用户模式下运行且提供用户界面。第二个组件在核模式下运行且可以访问核心操作系统数据。在 用户模式下运行的 组件称为应用程序,在核模式下运行的组件称为“软件驱动程序〞。软件驱动程序与硬件设备不 关联。 有关处理器模式的详细信息,请参阅用户模式和核模式。 此图说明了与核模式软件驱动程序通信的用户模式应用程序。 其他说明 软件驱动程序始终在核模式下运行。编写软件驱动程序的主要原因是荻取对仅在核模式下可用的 受保护数据的访问权限。 但是设备驱动程序不会始终需要访问核模式数据和资源。因此某些设备 驱动程序在用户模式下运行。 有一系列的驱动程序我们尚未提及,“总线驱动程序〞。假设要了解总线驱动程序,你需要了解设备节点和设备树。有关 设备树、设备节点以及总线驱动程序的信息,请参阅设备节点和设备堆栈。 到目前为止,我们的说明过度简化了 “函数驱动程序〞的定义。我们表示设备的函数驱动程序为堆栈中直接与设备通信 的一个驱动程序。对于直接连接到外围组件互连 PCI 〕总线的设备而言, 以上为真°PCI 设备的函数驱动程序获取映射到 〔 设备上端口和存资源的地址。函数驱动程序通过 写入这些地址直接与设备通信。但是在多种情形下,设备未直接连接到 PCI 总线。相反设备连 接到的主机总线适配器连接到PCI 总线。例如 USB toaster 连接到主机总线适配器〔称为USB 主 , 控制器〕,该适配器连接到PCI 总线。USB toaster 具有函数驱动程序,USB 主控制器也具 有函数驱动程序。toaster 的函 数驱动程序与toaster 间接通信,方法是将请求发送至USB 主 控制器的函数驱动程序。然后,USB 主控制器的函数驱动程 序与USB 主控制器硬件直接通信, 该硬件与toaster 通信。 Filter driver for fQjSB host controlled)-f(]lSB to 日ste° USB toaster 是否需要编写驱动程序? 0 〔共1〕对本文的评价是有帮助-评价此主題

文档评论(0)

墨臻网络 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8076027046000022
认证主体苏州墨臻互联网科技有限公司
IP属地江苏
统一社会信用代码/组织机构代码
91320506MA26CPT988

1亿VIP精品文档

相关文档