IO设备管理ppt课件

上传人:钟*** 文档编号:5845301 上传时间:2020-02-09 格式:PPT 页数:51 大小:738KB
返回 下载 相关 举报
IO设备管理ppt课件_第1页
第1页 / 共51页
IO设备管理ppt课件_第2页
第2页 / 共51页
IO设备管理ppt课件_第3页
第3页 / 共51页
点击查看更多>>
资源描述
第7章I O设备管理清华大学 本章知识点 7 1I O系统硬件7 2I O软件7 3磁盘调度7 4系统举例 1 7 1I O系统硬件 在计算机系统中 使用了许多I O设备 它们的特点和操作方式不完全一样 但是 所有的I O设备都是通过设备管理程序来管理的 设备管理是计算机操作系统中最繁杂且与硬件紧密相关的部分 要把大量的I O设备精减成一个单一模块的I O系统 必须全面地适应已有设备的需求 这些设备包括从简单的鼠标到键盘 打印机 图形显示终端 硬盘驱动器 CD ROM驱动器 以至于网络等 同时也必须考虑到未来的存储和输入 输出技术的发展 2 7 1 1I O设备 计算机所管理的I O外部设备按输入输出对象的不同可以分为以下3类 用户可读设备 用于用户与计算机通信 机器可读设备 用于电子装置与计算机通信 通信设备 用于与远程设备通信 3 7 1 1I O设备 所有这些设备其属性和类别有很大的区别 其主要的区别在于 数据传输速度 应用 控制的复杂性 信息组织方式 数据描述 错误条件 4 7 1 2设备控制器 I O设备一般由机械和电子两部分组成 通常将这两部分分开处理 以提供更加模块化 更加通用的设计 电子部分称作设备控制器或适配器 DeviceController或Adapter 机械部分就是设备本身 控制器通过电缆与设备内部相连 5 7 1 2设备控制器 设备控制器的主要作用有 接收和识别CPU发来的多种不同命令 实现CPU与控制之间 控制器和设备之间的数据交换 记录和报告设备的状态 地址识别 识别控制器控制的每个设备的地址 6 7 1 2设备控制器 设备控制器的组成 7 7 1 3I O技术 1 I O技术简介目前 操作系统中的I O技术大致有以下3种 1 程序I O 2 中断驱动I O 3 直接存储器存储 DMA 8 7 1 3I O技术 随着计算机系统的发展 单个部件也越来越复杂 最明显的例子就是I O技术的发展 处理器直接控制边缘设备 增加一个控制器或I O模块 使用了如阶段 的设置 但增加了中断 I O模块通过DMA直接控制内存 I O模块由一个单独处理器处理 有专门用于I O的指令集 I O模块有本地存储器 事实上 有其自己的计算机 9 7 1 3I O技术 2 DMADMA是一种优于中断方式的I O控制方式 其特点为 数据传输的基本单位是数据块 即CPU与I O设备之间 每次至少传送一个数据块 所传送的数据是从设备直接送入内存的 或者相反 仅在传送一个或多个数据块的开始和结束时 向CPU发中断信号 请求CPU干预 整块数据的传送是在控制器的控制下完成的 10 7 1 3I O技术 DMA控制器组成 11 7 1 3I O技术 3 I O通道计算机中设计了一个专门负责外设I O的处理器 置于CPU和设备控制器之间 称这个I O处理器为I O通道 设计目的是 建立独立的I O操作 使数据的传送独立于CPU 并尽量使有关I O操作的组织 管理及结束也独立 以保证CPU有更多时间进行数据处理 12 7 1 3I O技术 I O通道是DMA方式的发展 它的程序是由通道指令组成的 称为通道程序 I O处理器和CPU共享主存储器 在微型计算机中 其I O处理器并不完全具有前述I O通道的所有功能 因此 就称为I O处理器 13 7 1 3I O技术 在大型计算机中常有多个I O通道 而在一般的微型计算机中则可以配置1 2个I O处理器 或更多 这些I O处理器和中央处理器共享主存储器和总线 微型机中采用总线结构 在大型机中就可能出现几条通道和中央处理器同时争相访问主存储器的情况 为此给通道和中央处理器规定了不同的优先次序 14 7 1 3I O技术 通道通过执行通道程序 并与设备控制器一起共同实现对I O设备的控制 通道程序是由一系列的通道指令 或称为通道命令 所构成 通道指令和一般的机器指令不同 在它的每条指令中通常包含下列信息 操作码 内存地址 计数 通道程序结束位P 记录结束标志R 15 7 1 3I O技术 一般I O通道有3种类型 1 字节多路通道 2 数组选择通道 3 数组多路通道I O通道方式的发展 既可进一步减少CPU的干预 又可实现CPU 通道和I O设备3者的并行工作 从而更有效地提高了整个系统的资源利用率 16 7 2I O软件 I O软件的总体目标是 按分层的思想构造软件 较低层的软件要使较高层的软件独立于硬件 较高层的软件则要向用户提供一个友好 规范 清晰的界面 I O软件设计的具体目标是 设备独立性 统一命名 同步 异步传输 出错处理 设备共享与独占 17 7 2I O软件 根据I O软件的设计目标 将I O软件组织成以下4个层次 1 中断处理程序 2 设备驱动程序 3 与设备无关的操作系统软件 4 用户层软件 18 7 2 1中断处理程序 在现代计算机系统中 对I O设备的控制 广泛采用中断驱动 Interrupt driven 方式 即当某进程要启动某个I O设备工作时 便由CPU向相应的设备控制器发出一条I O命令 然后立即返回继续执行原来的任务 设备控制器便按照该命令的要求去控制I O设备 此时 CPU与I O设备并行操作 19 7 2 1中断处理程序 无论是哪种I O设备 其中断处理程序的处理基本相同 其步骤为 唤醒被阻塞的驱动进程 保护被中断进程的CPU环境 分析中断原因 转入相应的中断处理程序 进行中断处理 恢复现场 20 7 2 2设备驱动程序 所有与设备相关的代码放在设备驱动程序中 它是I O进程与设备控制器之间的通信程序 因为它常以进程的形式存在 故也可以称为设备驱动进程 由于驱动程序与设备硬件密切相关 故应为每一类设备配置一种驱动程序 或为一类密切相关的设备配置一个驱动程序 21 7 2 2设备驱动程序 1 设备驱动程序的功能 将接收到的来自它上一层的与设备无关的抽象请求转为具体请求 检查用户I O请求的合法性 了解I O设备的状态 传递有关参数 设置设备的工作方式 发出I O命令 启动分配到的I O设备 完成指定的I O操作 及时响应控制器或通道发来的中断请求 并调用相应的中断处理程序处理 对于有通道的计算机系统 驱动程序还应能根据用户I O请求构成通道程序 22 7 2 2设备驱动程序 2 设备驱动程序的处理过程一般地说 设备驱动程序的任务是接收来自它上面一层的与设备无关软件的请求 并执行这个请求 一个典型的请求是 读第n块 如果请求到来时驱动程序是空闲的 则立即开始执行该请求 若驱动程序正在执行一个请求 则将新到来的请求插到一个等待处理I O请求队列中 23 7 2 3与设备无关的I O软件 大部分I O软件是与设备无关的 设备驱动程序与设备独立软件之间的确切界限依赖于具体系统 因为对于一些本来应按照设备独立方式实现的功能 出于效率和其他原因 实际上还是由设备驱动来实现的 与设备无关软件层通常应实现的功能为 设备驱动程序的统一接口 设备命名 提供一个与设备无关的块大小 缓冲 块设备的存储分配 分配和释放独占设备 错误报告等 24 7 2 3与设备无关的I O软件 与设备无关的I O软件系统称为I O子系统 I O子系统执行着与设备无关的操作 同时I O子系统为用户应用程序提供一个统一的接口 下面讨论I O子系统所需完成的主要功能 25 7 2 3与设备无关的I O软件 1 设备命名与设备无关的软件 即I O子系统 负责把设备的符号名映射到相应的设备驱动程序 设备命名后 所有设备的名字的集合称做设备的名字空间 UNIX系列有3种不同的名字空间 1 主次设备号 2 内部号与外部号 3 设备文件与路径名 26 7 2 3与设备无关的I O软件 2 设备保护与设备命名机制密切相关的是设备保护 在大多数大型计算机系统中 用户进程对I O设备的访问是完全禁止的 27 7 2 3与设备无关的I O软件 3 与设备无关的块及存储设备的块分配不同的磁盘可以采用不同的扇区尺寸 与设备无关软件的一个任务是向较高层软件屏蔽并给上一层提供大小统一的块尺寸 28 7 2 3与设备无关的I O软件 4 设备分配一些设备 如磁盘驱动器 在任一时刻只能被单个进程使用 因此 操作系统需要对设备使用请求进行检查 并根据申请设备的可用状况决定是接收该请求还是拒绝该请求 29 7 2 3与设备无关的I O软件 5 出错处理出错处理是由设备驱动程序完成的 大多数错误是与设备密切相关的 因此 只有驱动程序知道应如何处理 是重试 忽略 还是报警 30 7 2 4用户空间的I O软件 虽然大部分I O软件都包合在OS内核之中 但也有一小部分I O软件是由与用户程序连接在一起的库过程构成 它们可能完全运行在OS之外 例如 下列一个C程序调用了write库过程 并包含在运行时的二进制程序代码中 count write fd buffer nbytes 显然 write库过程是I O系统的组成部分 上面描述的是第一类用户空间I O软件 第二类用户空间I O软件为spooling simultaneousperipheraloperationonline 系统 即假脱机系统 spooling系统是多道程序设计系统中处理独占I O设备的一种方法 31 7 2 4用户空间的I O软件 spooling系统的作用如下 1 实现了虚拟设备功能 2 将独占型设备变成共享设备 3 提高了I O效率 32 7 2 5缓冲技术 系统为达到如下目的需要使用缓冲技术 1 缓和CPU与I O设备间速度不匹配的矛盾 2 减少CPU的中断频率 放宽对中断响应的限制 3 提高CPU和I O设备之间的并行性 33 7 2 5缓冲技术 根据系统设置的缓冲区的个数 可以把缓冲技术分为单缓冲 双缓冲和循环缓冲以及缓冲池几种 单缓冲 34 7 2 5缓冲技术 双缓冲 多缓冲 35 7 2 5缓冲技术 1 单缓冲单缓冲是OS提供的一种最简单的缓冲 当用户进程发出一个I O请求时 OS便在主存中分配一个缓冲区 对于单缓冲 缓冲区属于临界资源 即不允许多个进程同时对一个缓冲区进行操作 因此 单缓冲虽然能匹配设备和CPU的处理速度 但无法实现设备与设备之间的并行操作 36 7 2 5缓冲技术 2 双缓冲双缓冲提供两个缓冲区 但双缓冲只是一种说明设备与设备 CPU与设备并行操作的简单模型 并不能用于实际系统中的并行操作 37 7 2 5缓冲技术 3 循环缓冲由于双缓冲并不能真正解决实际系统中的并行操作 于是引入了多缓冲 通过增加缓冲区的个数 可使并行程度得到明显提高 多缓冲是把多个缓冲区连接起来组成两部分 一部分专门用于输入 另一部分专门用于输出 循环缓冲包括以下两部分 1 多个缓冲区 2 多个指针 38 7 2 5缓冲技术 4 缓冲池上述的循环缓冲区仅适用于某特定的I O进程和计算进程 因而属于专用缓冲 为了提高缓冲区的利用率 目前广泛流行公用缓冲池 池中的缓冲区可供多个进程共享 1 缓冲池的结构相同类型的缓冲区链成一个队列 于是可形成以下3个队列 空缓冲队列emq 输入队列inq 输出队列outg 39 7 2 5缓冲技术 缓冲池中的工作缓冲区 40 7 2 5缓冲技术 2 缓冲池的管理一般 管理缓冲池的步骤如下 take buf type 从3种缓冲区队列中按一定的规则取出一个缓冲区 add buf type number 把缓冲区按一定的规则插入相应的缓冲队列 get buf type number 申请缓冲区 put buf type work buf 将缓冲区放入相应缓冲区队列 其中 type为缓冲队列类型 number为缓冲区号 work buf为工作缓冲区类型 41 7 3磁盘调度 近30年来 处理器和主存速度的增加远远把磁盘抛在了后面 因为磁盘的相对低速 使得磁盘子系统的性能变得至关重要 许多人也在积极探索提高磁盘子系统性能的方法 改进调度策略 降低查找时间 42 7 3 1调度策略 磁盘调度策略有很多 常见的有随机调度 先进先出 进程优先级 后进先出等 1 先进先服务策略 FCFS 顾名思义 它是将各进程对磁盘请求的等待队列按提出请求的时间进行排序 并按此次序给予服务的一种策略 这个策略对各进程是公平的 它不管进程优先级多高 只要是新来到的访问请求 都被排在队尾 43 7 3 1调度策略 2 最短服务时间优先策略 SSTF 这是将请求队列中柱面号最接近于磁头当前所在柱面的访问要求 作为一个服务对象的一种策略 3 扫描策略扫描策略 SCAN 也叫电梯策略 ElevatorAlgorithm 大多数电梯保持按一个方向移动 直到没有请求为止 然后改变方向 44 7 3 1调度策略 4 循环扫描策略 CSCAN 对SCAN算法稍作改进可以进一步减少响应时间 方法是 总是按同一方向移动磁臂 处理完最高编号柱面上的请求后 磁臂移动到具有读 写请求的最低编号的柱面 然后继续向上移动 45 7 3 1调度策略 磁盘调度策略很多 各有利弊 如何选择相应调度策略与磁盘的使用环境因素有关 磁盘调度的另一个趋势是使多个磁盘 磁盘阵列 一起工作 特别对高端系统很有用 廉价冗余磁盘陈列 RedundantArrayofInexpensiveDisks 简称RAID 的特点是 RAID是一个物理磁盘集合 但被OS认为是一个逻辑盘 数据分布存放在不同磁盘上 具有较强的纠错能力 46 7 3 2磁盘高速缓存 Cache存储器是在主存和处理器之间插入的一个更快 更小但更昂贵的存储器 其作用是减少主存的平均存取时间 同样的原理也可应用到磁盘存储器 关于磁盘Cache 有几个设计问题值得说明 1 Cache中的数据传送当一个I O请求能由Cache提供服务时 Cache中的数据必须传送到请求进程中 有两种方法传送数据 一是通过共享存储器将数据所在的指针传送到请求进程 二是传送Cache中的数据到用户进程的存储空间中 47 7 3 2磁盘高速缓存 2 Cache中数据的替换策略当一个新的扇区装入Cache中时 一个原先在Cache中的扇区数据必须替换出去 经常使用的算法是最近最少使用算法 LeastRecentlyUsed LRU Cache中没有被使用时间最长的那个块将被替换 替换Cache中最少被访问的块的算法是最少使用算法 LeastFrequentlyUsed LFU 48 7 3 2磁盘高速缓存 有必要在考虑最近最久未使用这一原则的同时 注意到以下三点内容 访问频率 通常 联想存储器的访问频率远高于高速缓存的访问频率 可预见性 预见哪些内容在不久将来会再次被访问 哪些则可能很久都不再被访问 数据一致性 必须保持高速缓存 内存和磁盘间数据的一致性 基于以上的考虑 提出了一个新的技术 基频率的替换 Frequency BasedReplacement 49 7 3 2磁盘高速缓存 3 Cache的失效率一般而言 在同样的替换策略下 Cache越大 失效率越少 因此 必须设计好Cache的大小和替换策略 减少失效率 50 Thanks Theend 51
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!