正在加载图片...
第2章分层的I/0、IRP和I/0对象 本章介绍 Microsoft windows2000的I/0模型,内容包括:内核模式驱动程序如何适合系 统,驱动程序如何处理IRP,系统定义的标准驱动程序例程,通用设备配置和相应的分层 驱动程序,以及描述设备和驱动程序的对象 本章的组织如下: 2.1 Windows20001/0模型概述 2.2终端用户I/0请求和 Windows2000文件对象 2.2.1用户I/0请求的注意事项 2.3IRP和驱动程序特定I/0栈位置 2.3.1处理IRP的注意事项 2.4驱动程序对象和标准驱动程序例程 2.4.1对象不透明性 2.4.2标准驱动程序对象入口点 2.4.3其他的标准驱动程序例程 2.4.4标准驱动程序例程的注意事项 2.5设备配置和分层驱动程序 2.5.1简单设备和驱动程序配置 2.5.2添加驱动程序的注意事项 2.6设备对象和分层的驱动程序 2.6.1针对简单配置的设备对象 2.6.2设备对象的注意事项 注意除了第一节,每节都包含了一个“注意事项”列表。这些小节总结对驱动程序的基本 要求和限制,就像本节从整体上介绍一样 21 Windows2000o模型概述 每一个操作系统都有一个隐含的或明确的I/0模型,以处理与外围设备之间的数据流。 Microsoft Windows2000I/o模型的最大不同之处是它支持异步I/0,就如第1章中描述 的那样。另外,I/0模型有下列特性: I/0管理器提供一致的接口给所有的内核模式驱动程序,包括最低层、中间层和文件 驱动程序。所有的对驱动程序的1/0请求被作为I/O请求包(IRP)发送 I/0操作是分层的。I/0管理器输出I/0系统服务,用户模式保护子系统代表它们的应 用程序和/或终端用户,调用它们完成I/0操作。I/0管理器解释这些调用,创建一个 或多个IRP,并且通过可能的分层驱动程序发送它们到物理设备。 I/0管理器定义一组驱动程序支持的标准例程,一些是必需的,一些是可选的。所有 的驱动程序遵从一个相对一致的实现模型,允许外围设备之间的差别,并且总线、功 能、过滤器和文件系统驱动程序被要求的不同功能。 就如操作系统本身,驱动程序是基于对象的。驱动程序、它们的设备和系统硬件被表 示为对象。Ⅰ/0管理器和其他操作系统组件输出内核模式支持例程,驱动程序通过操 纵合适的对象调用这些例程来完成工作 除了使用IRP传送传统的I/0请求之外,I0管理器与PnP和电源管理器一起工作发送包12 第2章 分层的 I/O、IRP 和 I/O 对象 本章介绍 Microsoft Windows 2000 的 I/O 模型,内容包括:内核模式驱动程序如何适合系 统,驱动程序如何处理 IRP,系统定义的标准驱动程序例程,通用设备配置和相应的分层 驱动程序,以及描述设备和驱动程序的对象。 本章的组织如下: 2.1 Windows 2000 I/O 模型概述 2.2 终端用户 I/O 请求和 Windows 2000 文件对象 2.2.1 用户 I/O 请求的注意事项 2.3 IRP 和驱动程序特定 I/O 栈位置 2.3.1 处理 IRP 的注意事项 2.4 驱动程序对象和标准驱动程序例程 2.4.1 对象不透明性 2.4.2 标准驱动程序对象入口点 2.4.3 其他的标准驱动程序例程 2.4.4 标准驱动程序例程的注意事项 2.5 设备配置和分层驱动程序 2.5.1 简单设备和驱动程序配置 2.5.2 添加驱动程序的注意事项 2.6 设备对象和分层的驱动程序 2.6.1 针对简单配置的设备对象 2.6.2 设备对象的注意事项 注意除了第一节,每节都包含了一个“注意事项”列表。这些小节总结对驱动程序的基本 要求和限制,就像本节从整体上介绍一样。 2.1 Windows 2000 I/O 模型概述 每一个操作系统都有一个隐含的或明确的 I/O 模型,以处理与外围设备之间的数据流。 Microsoft Windows 2000 I/O 模型的最大不同之处是它支持异步 I/O,就如第 1 章中描述 的那样。另外,I/O 模型有下列特性: ▪ I/O 管理器提供一致的接口给所有的内核模式驱动程序,包括最低层、中间层和文件 驱动程序。所有的对驱动程序的 I/O 请求被作为 I/O 请求包(IRP)发送。 ▪ I/O 操作是分层的。I/O 管理器输出 I/O 系统服务,用户模式保护子系统代表它们的应 用程序和/或终端用户,调用它们完成 I/O 操作。I/O 管理器解释这些调用,创建一个 或多个 IRP,并且通过可能的分层驱动程序发送它们到物理设备。 ▪ I/O 管理器定义一组驱动程序支持的标准例程,一些是必需的,一些是可选的。所有 的驱动程序遵从一个相对一致的实现模型,允许外围设备之间的差别,并且总线、功 能、过滤器和文件系统驱动程序被要求的不同功能。 ▪ 就如操作系统本身,驱动程序是基于对象的。驱动程序、它们的设备和系统硬件被表 示为对象。I/O 管理器和其他操作系统组件输出内核模式支持例程,驱动程序通过操 纵合适的对象调用这些例程来完成工作。 除了使用 IRP 传送传统的 I/O 请求之外,I/O 管理器与 PnP 和电源管理器一起工作发送包
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有