/O系统 Ns卫
Microsoft Windows 2000/XP I/O系统
★斗 本章要点 810分类和功能 石9。IO分配的原则和方法 IO软件的设计目标 0,O软件的重要组成部分 8动Wmw000Q统里 8; Windows2000XPVO系统的重要数据结构 总2, Windows2000XP驱动程序 Windows2000XP的O处理
Microsoft Windows 2000/XP 本章要点 • I/O分类和功能 • I/O分配的原则和方法 • I/O软件的设计目标 • I/O软件的重要组成部分 • Windows 2000/XP I/O系统模型 • Windows 2000/XP I/O系统的重要数据结构 • Windows 2000/XP驱动程序 • Windows 2000/XP的I/O处理
I/O请求 I/O回答 用户空间软件 与设备无关的系统软件 设备驱动程序 中断处理程序 硬件 I/O软件的层次
Microsoft Windows 2000/XP
★斗 So Windows2000XP的Wk Windows2000XP的O系统是重要的执行体组件 ·设计目标 在单处理器或多处理器系统中都可以快速进行ⅣO处理。 使用标准的 Windows2000/XP安全机制保护共享的资源。 8 满足 Microsoft win32、OS2和PQS子系统指定的O 服务的需要。 提供服务,使设备驱动程序的开发尽可能地简单,并且 允许用高级语言编写驱动程序
Microsoft Windows 2000/XP Windows 2000/XP的I/O • Windows 2000/XP的I/O系统是重要的执行体组件 • 设计目标 – 在单处理器或多处理器系统中都可以快速进行I/O处理。 – 使用标准的Windows 2000/XP安全机制保护共享的资源。 – 满足Microsoft Win32、OS/2和POSIX子系统指定的I/O 服务的需要。 – 提供服务,使设备驱动程序的开发尽可能地简单,并且 允许用高级语言编写驱动程序
★斗 根据用户的配置或者系统中硬件设备的添加和 删除,允许在系统中动态地添加或删除相应的 设备驱动程序。 通过添加驱动程序透明地修改其他驱动程序或 设备的行为。 s可安排的文件系统Mms) 为包括FAT、CD-ROM文件系统( 8 UDF( Universal Disk Format) 统和 Windows2000XP文件系 S)的多种 允许整个系统或者单个硬件设备进入和离开低 2功状态,这样可以节的能
Microsoft Windows 2000/XP – 根据用户的配置或者系统中硬件设备的添加和 删除,允许在系统中动态地添加或删除相应的 设备驱动程序。 – 通过添加驱动程序透明地修改其他驱动程序或 设备的行为。 – 为包括FAT、CD-ROM文件系统(CDFS)、 UDF(Universal Disk Format)文件系统和 Windows 2000/XP文件系统(NTFS)的多种 可安排的文件系统提供支持。 – 允许整个系统或者单个硬件设备进入和离开低 功耗状态,这样可以节约能源
应用程序 WIN32 系统服务 WMI 用户模式的 服务 即插即用 安装组件 管理器 用户态 inf文件, t文件 核心态 注册表 I/0系统 WDM WMI 即插即用 管理器 电源管理 I/0管理器 例程 驱动程序 硬件抽象层(HAL)
Microsoft Windows 2000/XP 应用程序 WIN32 系统服务 WMI 服务 用户模式的 即插即用 管理器 安装组件 用户态 核心态 I/O系统 驱动程序 硬件抽象层(HAL) .inf 文件 .cat 文件 注册表 例程 即插即用 管理器 电源管理 I/O管理器
★ 点·IO管理器把应用程序和系统组件连接到各种虚 ≤的辑的和物理的设备去并且定父了 ,设备驱动程序为某种类型的设备提供一个接 口。设备驱动程序从O管理器接受处理命令 当处理完毕后通知O管理器。设备驱动程序之 6间的协同工作也通过O管理器进行。 ·PnP(即插即用, plug and play)管理器通过与 IO管理器和总线驱动程序的协同工作检测硬件 资源的分配,并且检测相应硬件设备的添加和 删除 电源管理器通过与ⅣO管理器的协同工作检测整 个系统和单个硬件设备,完成不同电源状态的 转换
Microsoft Windows 2000/XP • I/O管理器把应用程序和系统组件连接到各种虚 拟的、逻辑的和物理的设备上,并且定义了一 个支持设备驱动程序的基本构架。 • 设备驱动程序为某种类型的设备提供一个I/O接 口。设备驱动程序从I/O管理器接受处理命令, 当处理完毕后通知I/O管理器。设备驱动程序之 间的协同工作也通过I/O管理器进行。 • PnP(即插即用,plug and play)管理器通过与 I/O管理器和总线驱动程序的协同工作检测硬件 资源的分配,并且检测相应硬件设备的添加和 删除 • 电源管理器通过与I/O管理器的协同工作检测整 个系统和单个硬件设备,完成不同电源状态的 转换
★斗 t Insti 8支持例程,也叫做W1md驱动程序模型(WDM 学 Windows Driver model)WM提供者,允许驱动 8”序使用这支持例程作为蝶介,与用户态运行 6注册表作为一个数据库,存储基本硬件设备的描 述信息以及驱动程序的初始化和配置信息。 2硬件抽象层(IAL)O访间例程把设备驱动程序 8)的体系结构中是二进制可移植的,并在vm 200XP支持的硬件体系结构中是源代码可移植的
Microsoft Windows 2000/XP • WMI(Windows Management Instrumentation) 支持例程,也叫做Windows驱动程序模型(WDM, Windows Driver Model)WMI提供者,允许驱动 程序使用这些支持例程作为媒介,与用户态运行 的WMI服务通讯。 • 注册表作为一个数据库,存储基本硬件设备的描 述信息以及驱动程序的初始化和配置信息。 • 硬件抽象层(HAL)I/O访问例程把设备驱动程序 与多种多样的硬件平台隔离开来,使它们在给定 的体系结构中是二进制可移植的,并在Windows 2000/XP支持的硬件体系结构中是源代码可移植的
2 Windows200P6类¥ 同步ⅣO和异步IO 同步”:设备执行数据传输并在IO完成时返回一个状态码,然 后程序就可以立即访问被传输的数据 异步”:应用程序发布ⅣO请求,然后当设备传输数据的同时, 应用程序继续执行 快速ⅣO:允许ⅣO系统不产生RP而直接到文件系统驱动 程序或高速缓存管理器去执行ⅣO请求 映射文件ⅣO和文件高速缓存:把磁盘中的文件视为进程 的虚拟内存的一部分,程序可以把文件作为一个大的数组 来访问,而无需做缓冲数据或执行磁盘IO的工作 ⑦.·分散集中ⅣO:应用程序执行一个读取或写入操作,从虚 拟内存中的多个缓冲区读取数据并写到磁盘上文件的一个 连续区域里
Microsoft Windows 2000/XP Windows 2000/XP的I/O类型 • 同步I/O和异步I/O – “同步”:设备执行数据传输并在I/O完成时返回一个状态码,然 后程序就可以立即访问被传输的数据 – “异步”:应用程序发布I/O请求,然后当设备传输数据的同时, 应用程序继续执行 • 快速I/O:允许I/O系统不产生IRP而直接到文件系统驱动 程序或高速缓存管理器去执行I/O请求 • 映射文件I/O和文件高速缓存 :把磁盘中的文件视为进程 的虚拟内存的一部分,程序可以把文件作为一个大的数组 来访问,而无需做缓冲数据或执行磁盘I/O的工作 • 分散/集中I/O:应用程序执行一个读取或写入操作,从虚 拟内存中的多个缓冲区读取数据并写到磁盘上文件的一个 连续区域里
★斗 S Windows2000XPWO犧点 ·在 Windows2000XP中,所有的O操作 都通过虛拟文件执行,隐藏了IO操作目 标的实现细节,为应用程序提供了一个 统一的到设备的接口界面 8 用户态应用程序调用文档化的函数,这 些函数再依次地调用内部O子系统函数 9他的操作。1O管理器动态地把这些虚我 文件请求指向适当的设备驱动程序
Microsoft Windows 2000/XP Windows 2000/XP I/O特点 • 在Windows 2000/XP中,所有的I/O操作 都通过虚拟文件执行,隐藏了I/O操作目 标的实现细节,为应用程序提供了一个 统一的到设备的接口界面 • 用户态应用程序调用文档化的函数,这 些函数再依次地调用内部I/O子系统函数 来从文件中读取、对文件写入和执行其 他的操作。I/O管理器动态地把这些虚拟 文件请求指向适当的设备驱动程序