- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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〕对本文的评价是有帮助-评价此主題
您可能关注的文档
最近下载
- 2025至2030中国针状焦行业发展趋势分析与未来投资战略咨询研究报告.docx
- 部编版三年级上册语文全册单元试卷【全册合集,含答案】 (二).pdf VIP
- 内陆养殖与水产养殖养殖模式.pptx VIP
- 《三位数乘乘两位数——笔算乘法》.ppt
- 大数据时代的数据与智慧酒店管理论文.doc VIP
- 内陆养殖养殖系统与养殖生态建设.pptx VIP
- 数字设计现代产业学院建设方案(汇报ppt).pptx VIP
- 新生儿早发败血症早期识别和初步管理专家共识(2024版).pptx VIP
- 2024KDIGO慢性肾脏病评估和管理指南要点解读.pptx VIP
- [ 中医精髓 中风 ]中风.pdf VIP
文档评论(0)