驱动程序入门.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 的函数驱动 程序

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档