《操作系统设计与实现》第四章--IO设备管理PPT课件_第1页
《操作系统设计与实现》第四章--IO设备管理PPT课件_第2页
《操作系统设计与实现》第四章--IO设备管理PPT课件_第3页
《操作系统设计与实现》第四章--IO设备管理PPT课件_第4页
《操作系统设计与实现》第四章--IO设备管理PPT课件_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统设计与实现 第四章I O设备管理 主讲教师 史广顺gsshi gsshi 2 内容提要 I O设备管理概述I O硬件原理与软件原理进程死锁I O设备管理实例剖析 内容提要 3 I O设备管理系统结构图 设备管理概述 上层用户程序 应用层 设备控制器 命令寄存器 中断处理程序 设备驱动程序 设备无关程序 用户进程 状态寄存器 数据寄存器 4 I O设备的特点分析 操作系统需要管理的最复杂的资源 I O设备I O设备种类繁多 工作模式各不相同I O设备数据多样 处理方式各不相同I O设备性能参差 运行控制多种多样最容易成为计算机系统的瓶颈 I O设备很多I O设备使用机械操作 导致其速度较CPU相差很大进程运行中的输入输出操作可能造成系统运行的性能瓶颈I O管理 如何最大限度保证I O设备与CPU的并行工作最实用 最体现操作系统特色的工作 I O管理兼容性 操作系统最难以完成的使命标准化 IT技术迅速普及发展的本质高性能 I O设备发展的主要目标 I O硬件管理 5 I O设备分类 按照设备的功能特性划分存储型设备 保存各类数据 临时或永久 输入输出型设备 提供人机交互手段数据通信型设备 实现电子数据交换按照数据的组织形式划分块设备 以数据块为单位存储 传输数据字符设备 以字节为单位存储 传输数据按照资源分配的形式划分独占式设备 一个时刻只能由一个进程使用 一般为低速I O设备共享式设备 一个时刻可由多个进程使用 资源利用率很高虚拟式设备 用高速设备模拟低速设备 用共享设备模拟独占设备按照程序使用的方式划分逻辑设备 由操作系统维护 简便用户操作和控制的 设备结构 物理设备 由硬件结构组成 真实完成各类I O设备操作 I O硬件管理 6 I O设备的差别 I O设备的评价标准设备的数据传输单位和传输率设备的数据表示和应用目标设备的控制方式和出错情况 I O硬件管理 7 I O管理的任务和目标 根据用户请求 控制各类I O设备实现用户的目标控制设备操作 实现设备与内存的数据交换设备的分配与回收 设备驱动程序 设备中断管理 各类缓冲区管理等向用户提供方便的I O设备接口 屏蔽底层硬件细节差别虚拟机 逻辑设备的作用 用户能够简单方便的使用I O设备设备接口的方便性 友好性 透明性 设备无关性利用各种技术 提高I O设备的运行效率设备与CPU之间 设备之间的并行设备负载的均衡 保持设备的充分忙碌实现对I O设备的管理和保护设备的分配与回收 针对独占设备和共享设备 实现合理的资源分配设备的数据保护 不同设备之间的保护 设备内部的保护 I O硬件管理 8 内容提要 I O设备管理概述I O硬件原理与软件原理进程死锁I O设备管理实例剖析 内容提要 9 I O设备硬件组成 I O设备的硬件结构机械部分 物理装置 由模拟信号驱动的各种机械装置控制器 适配器 电子装置 实现与主机的连接和通信设备控制器的工作方式常以板卡的形式与主板的总线插槽连接通过设备的接口寄存器 缓冲区与CPU进行通信设备控制器的工作内容地址译码 实现对I O地址空间的正确映射外部通信 接受或者发送数据 状态信号执行指令 将数字化指令转化为机械装置能够理解的模拟信号性能增强 实现内部硬件缓冲 完成数据加工等性能提升目标 I O硬件管理 10 操作系统的硬件环境 课程导论 11 I O设备接口的工作流程 I O操作过程的细分准备 启动 测试和等待 结果检查和错误处理I O设备接口的作用接口寄存器 保存命令 状态或者数据接口缓冲区 用来保存大量数据的缓冲区通过I O设备接口 CPU可以设定指令或状态 可以读取状态和结果I O设备接口的工作方式设置命令寄存器和状态寄存器 CPU通过总线与I O接口通信I O设备与CPU并行工作 控制器根据指令完成相应I O操作通过中断向CPU发出信号 工作完成后通过硬件中断通知CPU I O硬件管理 12 I O设备接口的工作流程 续 IBMPC的软盘控制器可接受15条指令 READ WRITE SEEK FORMAT等各条指令均可带参数 指令和相关参数均被设置到接口寄存器中位串行工作机制 驱动器提供 位流 控制器负责在缓冲区中将其组装为字节 并进行必要的校验和纠错显示器的控制器位串行工作机制 从显示缓冲区中读取可供显示的内容 而后产生用来调制CRT电子束的信号I O设备接口的价值屏蔽底层硬件细节 降低应用者的操作难度体现模块化的特点 适应不同的应用环境通过对I O设备接口进行标准化 即可方便实现兼容 I O硬件管理 13 计算机的系统结构图 课程导论 14 I O设备的连接与地址映射 I O设备的连接方式连接路径 I O设备与CPU建立连接时 所有有关组件构成连接路径I O端口 I O设备接口中有多个接口寄存器或缓冲区 每一个寄存器或缓冲区被称为一个I O端口I O端口地址空间 实现对I O接口寄存器 缓冲区的访问I O设备端口的编址方式I O端口独立编址 与内存空间完全独立内存映射I O地址 在内存空间中划分固定区域映射I O端口I O地址空间的编址方式和使用差别指令运行差别 访问的地址空间不同系统资源消耗 所需要的资源数不同优缺点权衡 总线规格 地址信息传输与过滤 系统性能等因素 I O硬件管理 15 I O端口独立编址模式 I O地址与内存空间完全独立使用专用的I O指令对I O端口进行操作优缺点分析优点1 I O设备不占用内存地址空间 减少系统资源消耗优点2 技术实现复杂度低 易于区分I O地址和内存地址缺点 由于地址空间独立 狭小 导致指令类型少 只能使用简单的汇编语言编程 I O硬件管理 16 I O端口的内存映射编址方式 I O端口地址空间和内存地址空间统一编址I O端口地址也被作为物理地址空间的一部分进行存储管理CPU访问地址空间时 将对地址空间的范围进行判断 然后选择读取内存空间或者访问I O端口内存映射编址的优缺点分析优点1 使得技术实现手段更加方便 可用C语言编写驱动程序优点2 不需要对I O地址空间进行特殊保护 只需要利用现有的存储保护机制 例如分页式中的页表项设置 优点3 使得I O端口的指令更加灵活多样缺点1 内存映射方式中必须保证I O端口的实时性 禁用高速缓存 缺点2 对于双总线或者多总线结构而言 I O端口的地址映射将比较困难和麻烦 I O硬件管理 17 I O端口地址的映射与访问 I O硬件管理 混合方案中 内存空间负责管理I O端口 I O独立编址部分属于数据缓冲区 例如Pentium就使用了这种方式 18 系统总线对I O端口编址的影响 I O硬件管理 19 系统总线对I O端口编址的影响 I O硬件管理 20 I O设备的控制方式 程序控制I O 轮询或忙等待模式 CPU直接与I O设备进行通信 负责将用户数据传送到I O端口用户程序通过系统调用来使用I O设备CPU需要不断查询I O设备的端口状态 性能较低中断控制I OCPU设定I O设备的初始值 然后不再忙等待 运行其他进程 当前进程阻塞I O设备完成对当前数据的处理后 向CPU发出中断 I O中断处理程序将负责传送剩余数据中断控制模式依然造成CPU时间的浪费 而且效率不高DMA控制I O使用独立的DMA控制器代替CPU的工作 I O设备与DMA通信 DMA在传输完成一个数据缓冲区之后再向CPU发中断DMA模式减少了中断次数 同时又集成了程序控制和中断控制的优点I O通道机制DMA机制过于简单 有时未必能够提高与CPU并行效率为此专门增加了I O处理机 专门负责I O设备的控制和操作 与CPU并行工作 I O硬件管理 21 程序控制I O的工作流程 I O硬件管理 由操作系统的 服务程序 负责将用户数据传送至打印机端口服务程序顺序传送打印数据 填满接口缓冲区后就等待 空循环 每次循环中都检查接口缓冲区是否可用 一旦可用就继续传送数据数据传送完成后 服务程序 结束 用户进程继续运行缺点 靠CPU以 忙等待 的形式与打印机进行通信 浪费CPU资源 22 中断控制I O的工作流程 I O硬件管理 打印服务程序 只将最开始的数据传送至打印机端口 然后阻塞CPU可继续调度其他进程运行 不浪费CPU时间一旦打印缓冲区空后 打印机端口发出硬件中断CPU响应中断 恢复 打印服务程序 运行 继续传送数据缺点 虽然节省了CPU资源 但是中断响应也消耗较大的系统资源 23 DMA控制I O的工作流程 I O硬件管理 用户进程发出系统调用后进入阻塞态 CPU直接设置DMA端口CPU与DMA并行工作 DMA负责将用户数据传送给打印机当DMA完成所有工作后 向CPU发出中断 CPU响应后唤醒用户进程优点 只有一次中断 DMA与CPU并行提高了系统运行效率缺点 DMA速度较慢 如果CPU并不繁忙 那么DMA机制并无太大意义 24 DMA工作方式的深入分析 DMA内部结构的差异单路I O连接 DMA中只有一组寄存器 只能连接一个I O设备多路I O连接 DMA中有多组寄存器 可同时连接多个I O设备多路I O连接模式下 DMA内部也需要进行适当的调度 轮转 优先级 DMA工作方式的差异数据总线的工作模式 块模式和字符模式 传输数据的速率不同字符模式 周期窃取 DMA窃取一个总线周期以传输一个字 造成CPU轻微延迟块模式 突发模式 DMA获得总线控制权后连续发出多个请求 提高总线利用效率飞越模式 DMA内部存在数据缓冲 设备将数据发送给DMA DMA再进行转发DMA模式的权衡与分析DMA保存的地址信息 绝大多数情况下DMA保存的是物理地址 CPU负责将用户地址转换为物理地址 然后将其设置到DMA中DMA的数据缓冲 DMA内部也会使用数据缓冲 这样会大大提高I O通信效率DMA的优劣分析 DMA比CPU慢好多 简单的应用环境中 用CPU要比DMA好 只有存在频繁的多道程序并发的情况下 DMA才会体现与CPU并行的作用 I O硬件管理 25 I O通道机制的引入与实现 I O通道 Channel 的概念如何以高速 高效的方式控制I O设备 是I O管理的重要问题DMA速度很慢 而且结构简单 无法执行相对复杂的程序引入I O通道 专门的处理机 可以运行由通道指令组成的通道程序I O通道的工作方式和分类分为字节多路通道 选择通道 成组多路通道三种I O通道采取 窃取总线周期 的方式实现对I O设备的控制和数据传输I O通道就是一个小型的处理机 和CPU共享内存I O通道接到CPU的指令后即启动通道命令 程序 独立于CPU控制I O设备工作I O通道的结构组成CAW 通道地址寄存器 用于记录通道程序在内存中的地址CCW 通道命令寄存器 用于保存当前正在运行的通道命令CSW 通道状态寄存器 用于保存命令执行后的结果CDW 通道数据寄存器 用于存放传输的数据 起到缓冲的作用 I O硬件管理 26 不同类型的I O通道 I O硬件管理 27 单通道与多通道 I O硬件管理 28 I O软件原理 I O软件的设计需求有哪些 解决同步 阻塞 异步 传输 的问题 底层 如何传送控制命令 如何传输数据 上层 如何向用户屏蔽此过程 如何调度I O进程实现对设备访问的错误处理 简单情况 可在硬件底层解决的错误复杂情况 无法有效解决 只能通知高层的错误为便于人的使用 实现设备无关性 统一命名法 如何让用户无需考虑各种设备的差别 采用相同的习惯来使用 如何管理不同设备的统一命名 实现名称与设备的映射 I O设备的缓冲管理缓冲区的维护与使用 实时I O设备中缓冲区的预存和实时性保持实现对专有设备的和共享设备的有效管理共享设备 如何记录共享状态 专有设备 如何实现对专有设备的互斥性访问 I O软件管理 29 I O软件体系结构 I O软件管理 中断处理程序 底层硬件设备 设备驱动程序 用户I O软件 设备无关软件 I O请求 I O响应 提供系统库调用 供人员使用 提供类似Spooling这样的精灵守护进程管理共享设备 命名 保护 阻塞 缓冲 建立设备寄存器 解决错误 处理中断信号 30 中断处理程序 控制I O设备的基本方法用户发出系统调用或直接调用I O设备 然后用户进程阻塞设备驱动程序启动I O操作 然后自己阻塞I O设备完成操作后产生中断 对应的中断服务程序更新各种状态信息用户进程恢复为就绪 继续运行中断处理程序的工作过程保存CPU现场信息 各类寄存器 最重要的是PSW 为中断服务程序设定CPU上下文 TLB 内核堆栈等应答中断控制器 屏蔽同类中断 打开其他中断恢复中断服务进程的运行 完成对设备控制器接口的操作操作结束后进行调度 改变用户进程状态 选择下一个运行程序用户进程恢复正常运行 此时设备驱动程序无事可干 又陷入阻塞 I O软件管理 31 设备驱动程序 设备驱动程序的特点用来控制设备控制器的代码和指令 被称为设备驱动程序目前的体系结构中 设备驱动程序属于操作系统的内核部分操作系统实现过程中 需要提供标准化的接口函数 用于封装设备驱动程序设备驱动的存在形式 与操作系统统一编译 或者运行时动态链接设备驱动程序的工作过程接受上层用户发送的各类参数 并对输入参数进行检查对硬件设备的可用性进行检查 并接通或者启动设备控制设备完成对应的操作 通过设置接口寄存器实现 实现数据的I O 同时返回操作的状态结果 设备驱动工作过程中的特殊考虑设备驱动的工作方式 同步阻塞或持续运行同步阻塞模式下 必须考虑支持 中断嵌套 的情况 将其设计为可重入热插拔系统中 自动的适应设备插入或者卸载 I O软件管理 32 设备驱动程序的统一接口 I O软件管理 33 缓冲机制的设计与实现 I O软件管理 34 用户空间的I O软件 I O操作相关的库函数或工具包实现对OS内核设备I O管理机制的封装向应用层用户提供规范 简洁的操作接口实现I O管理底层机制与上层用户的交互假脱机 Spooling 技术通过应用软件来实现对独占式I O设备的管理缓冲 封装 用户只需要管理 特殊I O文件 守护进程 Daemon 实现假脱机目录利用应用程序 将独占式I O设备虚拟为共享设备 I O软件管理 35 I O设备管理小结 I O设备管理面对的各种冲突和矛盾 独特性 与 兼容性 标准化环境下的发展选择 高性能 与 友好性 系统资源消耗的代价取舍硬件实现与软件模拟 成本与性能之间的权衡I O设备管理的思维方式统一 规范的软硬件平台是一切技术发展的基础性能稳定和错误处理机制是一切应用普及的前提系统观 软硬搭配 高低结合是复杂问题的解决思路未来趋势 随着硬件成本的降低 软件的作用越来越大 I O设备管理 36 内容提要 I O设备管理概述I O硬件原理与软件原理进程死锁I O设备管理实例剖析 内容提要 37 进程死锁原理 死锁举例进程A 获得CD ROM使用权 申请打印机进程B 获得打印机使用权 申请CD ROM死锁 此时进程A B均被阻塞 无法运行 进程死锁 进程A 进程B 打印机 CD ROM 38 进程死锁原理 死锁的定义 进程死锁 若一个进程集合中的每一个进程都在等待只能由本集合中其他进程引发的事件 则这种情况为死锁 死锁发生的条件互斥条件 每一个资源或者空闲 或者被分配给一个进程保持和等待条件 已占有某些资源的进程需申请新的资源后方可继续运行非剥夺条件 被进程占用的资源不可剥夺 只能被进程本身显式释放循环等待条件 系统必然存在一条由两个或两个以上进程组成的循环链 该循环链中每个进程都在等待临近的进程释放资源 39 如何理解死锁 概念基础资源 可剥夺资源与不可剥夺资源可剥夺资源会造成死锁吗 举例 发生条件分析保持当前资源 等待未分配资源存在循环的保持等待链 造成死锁情况对比理解死锁与互斥有哪些异同 操作系统为什么要解决死锁问题 在所有的操作系统中都会发生死锁问题吗 进程死锁 40 死锁的形式化描述 基于有向图描述死锁条件 进程死锁 41 死锁现象与死锁过程 产生死锁的进程运行过程示例 进程死锁 42 死锁现象与死锁过程 进程死锁 产生死锁的进程运行过程示例 43 死锁处理策略 不理会死锁原因 为什么耗费大量的时间在小概率事件上呢 死锁检测与恢复目标 检测死锁发生 通过撤销进程恢复系统运行死锁预防目标 对进程加以适当限制以防止死锁情况发生死锁避免目标 不对进程加以限制 由操作系统完成死锁预防 进程死锁 44 鸵鸟算法 核心思想 忽略死锁问题原因 死锁问题的发生是小概率事件策略分析方便性与正确性之间的选择平均情况与最坏情况的选择 进程死锁 45 死锁检测与恢复 核心思想 将系统从死锁中解脱方法动机 与其耗费大量时间来避免死锁的发生 不如采取有效的手段解决死锁死锁检测的解决方法每个类型的资源只有一个 基于图和集合的算法检测是否有闭环每个类型的资源有多个 基于矩阵和向量比较方法检测是否存在死锁死锁恢复的解决方法进行资源抢占 将某个进程的资源强制性分配给其他进程利用回退恢复 设定检查点 发现存在死锁情况后则回退杀死进程恢复 直接杀掉占用资源的进程 使得其他进程得以运行 最关键的问题是选择杀死哪一个进程 进程死锁 46 死锁检测算法简介 每个类型的资源只有一个建立资源分配图结构 记录了所有的进程 资源和有向边从任一结点开始进行深度优先遍历 如找到闭环则结束如某条遍历路径已经到达终点 则回退至上一结点 继续重复此过程每个类型的资源有多个建立现有资源标量 可用资源标量 当前分配矩阵 请求矩阵等数据结构对当前分配矩阵 寻找可满足资源需求的进程 对其标记如果有进程没有被标记 说明该进程是死锁进程 进程死锁 47 死锁预防 核心思想 对进程加以限制防止死锁发生设计思路 针对四个死锁条件 逐一避免具体解决方法互斥条件 使用Spooling技术来管理设备 保持和等待条件 资源可用性决定资源分配不可剥夺条件 由系统直接剥夺此类资源循环链条件 资源编号 按预定规则申请 进程死锁 48 死锁避免 核心思想 不对进程进行限制 预防死锁设计思路 操作系统分析资源分配情况防止死锁核心思想安全状态 存在某种资源调度顺序 保证所有进程正常运行完成 则称该状态为安全状态不安全状态 不存在可满足所有进程正常运行的资源调度顺序 则称该状态为不安全状态具体实现方法资源轨迹图 针对两个进程的死锁避免银行家算法 单种资源和多种资源的算法 进程死锁 49 使用资源轨迹图方法避免死锁 针对两个进程 两种资源的死锁避免方法条件 两个进程A和B 两种资源 打印机 和 绘图仪 根据指令运行过程来判断是否发生死锁进程A P点启动 I1 I3使用打印机 I2 I4使用绘图仪 进程B Q点启动 I5 I7使用绘图仪 I6 I8使用打印机 进程死锁 50 使用资源轨迹图方法避免死锁 进程死锁 51 单种资源银行家算法 核心思想记录每个进程的已有资源和所需最大资源数对每一个资源请求进行检查 判断是否会造成不安全如果不安全则不分配 从而避免死锁方法分析对任何资源请求 都寻找是否存在安全状态序列不抱侥幸心理 防止任何死锁情况的发生 进程死锁 52 单种资源银行家算法 进程死锁 53 多种资源银行家算法 核心思想对单种资源银行家算法进行扩充基于向量操作来运行银行家算法 进程死锁 54 多种资源银行家算法 处理步骤Step1 检查 仍需资源矩阵 中的每一行 判断是否存在一行 其所需资源总数小于向量A 剩余资源总数 失败则系统死锁 Step2 如存在此行 则将所有资源分配给该行对应向量 并将其状态标识为结束 Step3 重复1 2步 直至所有进程状态为结束 如果所有进程状态均可标为结束 则状态安全 否则会发生死锁 进程死锁 55 举例 历史考研题举例 北大1997年OS考研试题系统中有三种资源 A B C 和5个进程P1 P5资源总数为 17 5 20 T0时刻系统状态如表所示 系统采用银行家算法实施死锁避免策略 进程死锁 56 举例 历史考研题举例 北大1997年OS考研试题请解答以下问题 1 T0时刻是否为安全状态 若是则给出安全序列 2 在T0时刻P2请求资源 0 3 4 是否能够实施资源分配 为什么 3 在 2 的基础上 若P4请求资源 2 0 1 是否能够实施分配 为什么 4 在 3 的基础上 若P1请求资源 0 2 0 是否能够实施分配 为什么 进程死锁 57 内容提要 I O设备管理概述I O硬件原理与软件原理进程死锁I O设备管理实例剖析 内容提要 58 Minix中的I O设备管理 设备驱动方式 与Unix的本质区别 与Linux类似方式 每一类设备均有单独的设备驱动程序 其中硬件无关的内容形成公共程序 硬件相关的内容作为特定驱动 以模块化组织提高系统灵活性采用进程间通信的方式完成I O设备的使用 Minix的进程式组织结构 Unix采用过程调用的方式 用户进程调用驱动程序 引发操作系统陷入 完成I O操作后由中断处理程序唤醒用户进程设备管理方法设备驱动程序作为独立进程存在 OS启动时各个设备驱动进程完成基本初始化 而后等待消息 阻塞 直到用户进程发送消息 使用I O设备 将其唤醒与硬件相关的设备驱动部分作为过程被设备驱动程序调用 从而实现无关性封装I O软件与死锁处理Minix将所有与设备无关的I O软件封装在文件系统模块中 所有的块设备均作为一种特殊的文件用户空间的I O软件主要是供用户程序调用的函数库Minix中对死锁的处理采用 鸵鸟算法 I O管理实例 59 进程式OS与整体式OS I O管理实例 60 Windows中的I O设备管理 I O管理系统结构I O管理系统是一个独立的系统组件 存在于NTOSKRNL exe文件中I O管理系统由多个执行体组件和设备驱动程序组成 负责接受I O请求 并针对性的将设备请求传送到各类对应的设备Windows中将所有的I O操作均看作对虚拟文件的操作 所有的I O数据传输都被看作 流数据 由I O管理系统负责将虚拟文件映射到对应的物理设备上I O管理系统组成I O管理器 负责定义支撑设备驱动程序的基本架构 直接响应I O请求设备驱动程序 负责定义并实现某一特定类型设备的I O接口管理PnP管理器 与I O管理器和总线驱动程序协同 检测硬件资源的分配 设备的变更电源管理器 与I O管理器协同工作来检测整个系统和单个设备 完成电源状态转换WDMWMI WDM的WMI支持例程 负责实现设备与WMI服务之间的通信注册表 作为一个数据库 存储基本硬件描述信息以及驱动程序的初始化和配置信息硬件抽象层 将设备驱动程序实现为二进制可移植的形式 实现对硬件平台的独立Windows中的I O系统数据结构文件对象 驱动程序对象 设备对象 I O请求包 I O管理实例 61 Windows中I O系统组件 I O管理实例 62 Windows中的I O数据结构 文件对象所有I O设备被看作文件对象 用户程序进行I O操作时就像是对一个文件进行操作文件对象是可共享的 有设备无关命名的 受保护的 支持同步的结构调用与实现过程 C库函数 Win32DLL NTDLL DLL NTOSKRNL DLL驱动程序对象与设备对象驱动程序对象代表一个独立的驱动程序 I O管理器从驱动程序对象中获得并且为I O记录每个驱动程序的入口点设备对象在OS中代表一个物理 逻辑 虚拟的设备 并描述设备的基本特征当驱动程序被加载时 I O管理器将创建一个驱动程序对象 然后调用驱动程序的初始化例程 初始化例程将创建一个设备对象 设备对象接受I O操作请求 驱动程序对象实现I O操作请求I O请求包由固定部分 标题 和堆栈单元 数量不定 组成 包含了I O请求的各类信息IRP由I O管理器构造 保存了I O请求的相关信息 同时保存了调用者的相关信息所有的IRP均保存在IRP队列中 当用户程序终止后 I O系统将清除未完成的IRP I O管理实例 63 I O请求涉及到的数据结构 I O管理实例 64 Windows中设备驱动程序层次 I O管理实例 65 设备驱动程序的内容组成 I O管理实例 66 Windows中的I O处理简述 设备驱动程序的同步操作驱动程序在访问相关数据时 必须实现 同步 操作 即以互斥的形式保护各类共享数据 在单CPU的机器上 通过同步例程实现 在多CPU的机器上 通过 自旋锁 实现I O处理的类型同步I O和异步I O 绝大部分I O操作是以同步方式实现的 但是也可以通过设定CreatFile的参数来使用异步I O 异步I O要求用户程序在设计和实现时必须保证不访问来自I O操作的数据 在异步方式下 用户程序通过等待同步对象来实现与异步I O操作的 同步 快速I O 允许I O系统不产生IRP而直接使用驱动程序执行I O请求映射文件I O和文件高速缓存映射文件I O是将磁盘中的MappingFile作为进程的虚拟内存一部分 直接把文件作为大的数组进行访问Windows利用MappingFile可实现文件高速缓存和映象活动分散 集中式I O 运行用户程序从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论