io系统概述io软件的结构windowsio系统的结构windows内容摘要:
的操作,例如用户按电源按钮 • 控制面板的电源设置 – 设备驱动程序可以独立地控制设备的能耗状态 电源管理器 17 Windows 2020/XP I/O特点 • 在 Windows 2020/XP中,所有的 I/O操作都通过虚拟文件执行,隐藏了 I/O操作目标的实现细节,为应用程序提供了一个统一的到设备的接口界面 • 用户态应用程序调用文档化的函数,这些函数再依次地调用内部 I/O子系统函数来从文件中读取、对文件写入和执行其他的操作。 I/O管理器动态地把这些虚拟文件请求指向适当的设备驱动程序 18 一个典型的 I/O请求过程 用户模式 APII/O 系统服务 API( NtXXX )I/O 管理器核心模式设备驱动程序HAL I/O 服务例程驱动程序支持例程I/O 端口和寄存器19 重要系统对象 • 文件对象 • 驱动程序对象 • 设备对象 • I/O请求包( IRP) 20 文件对象 • 提供了基于内存的共享物理资源的表示法 表示文件的哪一部分由高速缓存管理器管理高速缓存,以及它们驻留在高速缓存的什么地方。 指向专用高速缓存映射的指针 表示描述一个映射文件的根结构 指向区域对象指针的指针 表示文件在其上驻留的卷或分区。 指向卷参数块的指针 表示文件在其上驻留的设备的类型。 指向设备对象的指针 表示 I/O是否将被同步或异步、高速缓存或不高速缓存、连续或随机等等。 打开模式 表示当调用者正在使用文件时,其他的调用者是否可以打开文件来做读取、写入或删除操作。 共享模式 在文件中标识当前位置(只对同步 I/O有效)。 字节偏移量 标识文件对象指向的物理文件。 文件名 目的 属性 21 • 打开一个文件对象 文件对象 22 驱动程序对象和设备对象 • 驱动程序对象在系统中代表一个独立的驱动程序,并且为 I/O记录每个驱动程序的调度例程的地址(入口点)。 • 设备对象在系统中代表一个物理的、逻辑的或虚拟的设备并描述了它的特征。 23 驱动程序对象和设备对象 24 I/O请求包 • 存储处理 I/O请求所需信息 • 线程调用 I/O服务时, I/O管理器就构造一个 IRP来表示在整个系统 I/O进展中要进行的操作 • I/O管理器在 IRP中保存一个指向调用者文件对象的指针 • 两部分组成: – 固定部分(称作标题):请求的类型和大小、是同步请求还是异步请求、用于缓冲 I/O的指向缓冲区的指针和随着请求的进展而变化的状态信息 – 一个或多个堆栈单元:一个功能码、功能特定的参数和一个指向调用者文件对象的指针 25 I/O系统对象的关系 26 Windows 2020/XP设备驱动程序 • 支持多种类型的设备驱动程序和编程环境 • 核心驱动程序的分类 – 文件系统驱动接受访问文件的 I/O请求。 – 同 Windows 2020/XP的 PnP管理器和电源管理器有关的设备驱动程序。 – 为 Windows NT编写的设备驱动程序。 – Win32子系统显示驱动程序和打印驱动程序将把设备无关的图形( GDI)请求转换为设备专用请求。 – 符合 Windows驱动程序模。io系统概述io软件的结构windowsio系统的结构windows
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。