《操作系统设计与实现》第四章__IO设备管理

上传人:ahu****ng1 文档编号:146139048 上传时间:2020-09-27 格式:PPTX 页数:73 大小:1.77MB
返回 下载 相关 举报
《操作系统设计与实现》第四章__IO设备管理_第1页
第1页 / 共73页
《操作系统设计与实现》第四章__IO设备管理_第2页
第2页 / 共73页
《操作系统设计与实现》第四章__IO设备管理_第3页
第3页 / 共73页
《操作系统设计与实现》第四章__IO设备管理_第4页
第4页 / 共73页
《操作系统设计与实现》第四章__IO设备管理_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《《操作系统设计与实现》第四章__IO设备管理》由会员分享,可在线阅读,更多相关《《操作系统设计与实现》第四章__IO设备管理(73页珍藏版)》请在金锄头文库上搜索。

1、操作系统设计与实现第四章I/O设备管理,1,内容提要,I/O设备管理概述 I/O硬件原理与软件原理 进程死锁 I/O设备管理实例剖析,内容提要,2,I/O设备管理系统结构图,设备管理概述,上层用户程序(应用层),设备 控制器,命令寄存器,中断处理程序,设备驱动程序,设备无关程序,用户进程,状态寄存器,数据寄存器,3,I/O设备的特点分析,操作系统需要管理的最复杂的资源I/O设备 I/O设备种类繁多,工作模式各不相同 I/O设备数据多样,处理方式各不相同 I/O设备性能参差,运行控制多种多样 最容易成为计算机系统的瓶颈I/O设备 很多I/O设备使用机械操作,导致其速度较CPU相差很大 进程运行中

2、的输入输出操作可能造成系统运行的性能瓶颈 I/O管理:如何最大限度保证I/O设备与CPU的并行工作 最实用、最体现操作系统特色的工作I/O管理 兼容性:操作系统最难以完成的使命 标准化:IT技术迅速普及发展的本质 高性能:I/O设备发展的主要目标,I/O硬件管理,4,I/O设备分类,按照设备的功能特性划分 存储型设备:保存各类数据(临时或永久) 输入输出型设备:提供人机交互手段 数据通信型设备:实现电子数据交换 按照数据的组织形式划分 块设备:以数据块为单位存储、传输数据 字符设备:以字节为单位存储、传输数据 按照资源分配的形式划分 独占式设备:一个时刻只能由一个进程使用,一般为低速I/O设备

3、 共享式设备:一个时刻可由多个进程使用,资源利用率很高 虚拟式设备:用高速设备模拟低速设备,用共享设备模拟独占设备 按照程序使用的方式划分 逻辑设备:由操作系统维护,简便用户操作和控制的“设备结构” 物理设备:由硬件结构组成,真实完成各类I/O设备操作,I/O硬件管理,5,I/O设备的差别,I/O设备的评价标准 设备的数据传输单位和传输率 设备的数据表示和应用目标 设备的控制方式和出错情况,I/O硬件管理,6,I/O管理的任务和目标,根据用户请求,控制各类I/O设备实现用户的目标 控制设备操作,实现设备与内存的数据交换 设备的分配与回收、设备驱动程序、设备中断管理、各类缓冲区管理等 向用户提供

4、方便的I/O设备接口,屏蔽底层硬件细节差别 虚拟机逻辑设备的作用:用户能够简单方便的使用I/O设备 设备接口的方便性、友好性、透明性、设备无关性 利用各种技术,提高I/O设备的运行效率 设备与CPU之间、设备之间的并行 设备负载的均衡:保持设备的充分忙碌 实现对I/O设备的管理和保护 设备的分配与回收:针对独占设备和共享设备,实现合理的资源分配 设备的数据保护:不同设备之间的保护、设备内部的保护,I/O硬件管理,7,内容提要,I/O设备管理概述 I/O硬件原理与软件原理 进程死锁 I/O设备管理实例剖析,内容提要,8,I/O设备硬件组成,I/O设备的硬件结构 机械部分(物理装置):由模拟信号驱

5、动的各种机械装置 控制器/适配器(电子装置):实现与主机的连接和通信 设备控制器的工作方式 常以板卡的形式与主板的总线插槽连接 通过设备的接口寄存器、缓冲区与CPU进行通信 设备控制器的工作内容 地址译码:实现对I/O地址空间的正确映射 外部通信:接受或者发送数据/状态信号 执行指令:将数字化指令转化为机械装置能够理解的模拟信号 性能增强:实现内部硬件缓冲、完成数据加工等性能提升目标,I/O硬件管理,9,操作系统的硬件环境,课程导论,10,I/O设备接口的工作流程,I/O操作过程的细分 准备、启动、测试和等待、结果检查和错误处理 I/O设备接口的作用 接口寄存器:保存命令、状态或者数据 接口缓

6、冲区:用来保存大量数据的缓冲区 通过I/O设备接口,CPU可以设定指令或状态、可以读取状态和结果 I/O设备接口的工作方式 设置命令寄存器和状态寄存器:CPU通过总线与I/O接口通信 I/O设备与CPU并行工作:控制器根据指令完成相应I/O操作 通过中断向CPU发出信号:工作完成后通过硬件中断通知CPU,I/O硬件管理,11,I/O设备接口的工作流程(续),IBM PC的软盘控制器 可接受15条指令:READ、WRITE、SEEK、FORMAT等 各条指令均可带参数,指令和相关参数均被设置到接口寄存器中 位串行工作机制:驱动器提供“位流”,控制器负责在缓冲区中将其组装为字节,并进行必要的校验和

7、纠错 显示器的控制器 位串行工作机制:从显示缓冲区中读取可供显示的内容,而后产生用来调制CRT电子束的信号 I/O设备接口的价值 屏蔽底层硬件细节,降低应用者的操作难度 体现模块化的特点,适应不同的应用环境 通过对I/O设备接口进行标准化,即可方便实现兼容,I/O硬件管理,12,计算机的系统结构图,课程导论,13,I/O设备的连接与地址映射,I/O设备的连接方式 连接路径:I/O设备与CPU建立连接时,所有有关组件构成连接路径 I/O端口:I/O设备接口中有多个接口寄存器或缓冲区,每一个寄存器或缓冲区被称为一个I/O端口 I/O端口地址空间:实现对I/O接口寄存器/缓冲区的访问 I/O设备端口

8、的编址方式 I/O端口独立编址:与内存空间完全独立 内存映射I/O地址:在内存空间中划分固定区域映射I/O端口 I/O地址空间的编址方式和使用差别 指令运行差别:访问的地址空间不同 系统资源消耗:所需要的资源数不同 优缺点权衡:总线规格、地址信息传输与过滤、系统性能等因素,I/O硬件管理,14,I/O端口独立编址模式,I/O地址与内存空间完全独立 使用专用的I/O指令对I/O端口进行操作 优缺点分析 优点1:I/O设备不占用内存地址空间,减少系统资源消耗 优点2:技术实现复杂度低,易于区分I/O地址和内存地址 缺点:由于地址空间独立、狭小,导致指令类型少,只能使用简单的汇编语言编程,I/O硬件

9、管理,15,I/O端口的内存映射编址方式,I/O端口地址空间和内存地址空间统一编址 I/O端口地址也被作为物理地址空间的一部分进行存储管理 CPU访问地址空间时,将对地址空间的范围进行判断,然后选择读取内存空间或者访问I/O端口 内存映射编址的优缺点分析 优点1:使得技术实现手段更加方便,可用C语言编写驱动程序 优点2:不需要对I/O地址空间进行特殊保护,只需要利用现有的存储保护机制(例如分页式中的页表项设置) 优点3:使得I/O端口的指令更加灵活多样 缺点1:内存映射方式中必须保证I/O端口的实时性(禁用高速缓存) 缺点2:对于双总线或者多总线结构而言,I/O端口的地址映射将比较困难和麻烦,

10、I/O硬件管理,16,I/O端口地址的映射与访问,I/O硬件管理,混合方案中,内存空间负责管理I/O端口,I/O独立编址部分属于数据缓冲区。例如Pentium就使用了这种方式,17,系统总线对I/O端口编址的影响,I/O硬件管理,18,系统总线对I/O端口编址的影响,I/O硬件管理,19,I/O设备的控制方式,程序控制I/O(轮询或忙等待模式) CPU直接与I/O设备进行通信,负责将用户数据传送到I/O端口 用户程序通过系统调用来使用I/O设备 CPU需要不断查询I/O设备的端口状态,性能较低 中断控制I/O CPU设定I/O设备的初始值,然后不再忙等待,运行其他进程,当前进程阻塞 I/O设备

11、完成对当前数据的处理后,向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硬件管理,20,程序控制I/O的工作流程,I/O硬件管理,由操作系统的“服务程序”负责将用户数据传送至打印机端口 服

12、务程序顺序传送打印数据,填满接口缓冲区后就等待(空循环) 每次循环中都检查接口缓冲区是否可用,一旦可用就继续传送数据 数据传送完成后“服务程序”结束,用户进程继续运行 缺点:靠CPU以“忙等待”的形式与打印机进行通信,浪费CPU资源,21,中断控制I/O的工作流程,I/O硬件管理,“打印服务程序”只将最开始的数据传送至打印机端口,然后阻塞 CPU可继续调度其他进程运行,不浪费CPU时间 一旦打印缓冲区空后,打印机端口发出硬件中断 CPU响应中断,恢复“打印服务程序”运行,继续传送数据 缺点:虽然节省了CPU资源,但是中断响应也消耗较大的系统资源,22,DMA控制I/O的工作流程,I/O硬件管理

13、,用户进程发出系统调用后进入阻塞态,CPU直接设置DMA端口 CPU与DMA并行工作,DMA负责将用户数据传送给打印机 当DMA完成所有工作后,向CPU发出中断,CPU响应后唤醒用户进程 优点:只有一次中断、DMA与CPU并行提高了系统运行效率 缺点:DMA速度较慢,如果CPU并不繁忙,那么DMA机制并无太大意义,23,DMA工作方式的深入分析,DMA内部结构的差异 单路I/O连接:DMA中只有一组寄存器,只能连接一个I/O设备 多路I/O连接:DMA中有多组寄存器,可同时连接多个I/O设备 多路I/O连接模式下,DMA内部也需要进行适当的调度(轮转、优先级) DMA工作方式的差异 数据总线的

14、工作模式:块模式和字符模式,传输数据的速率不同 字符模式(周期窃取):DMA窃取一个总线周期以传输一个字,造成CPU轻微延迟 块模式(突发模式):DMA获得总线控制权后连续发出多个请求,提高总线利用效率 飞越模式:DMA内部存在数据缓冲,设备将数据发送给DMA,DMA再进行转发 DMA模式的权衡与分析 DMA保存的地址信息:绝大多数情况下DMA保存的是物理地址,CPU负责将用户地址转换为物理地址,然后将其设置到DMA中 DMA的数据缓冲:DMA内部也会使用数据缓冲,这样会大大提高I/O通信效率 DMA的优劣分析:DMA比CPU慢好多,简单的应用环境中,用CPU要比DMA好;只有存在频繁的多道程

15、序并发的情况下,DMA才会体现与CPU并行的作用,I/O硬件管理,24,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

16、通道的结构组成 CAW:通道地址寄存器,用于记录通道程序在内存中的地址 CCW:通道命令寄存器,用于保存当前正在运行的通道命令 CSW:通道状态寄存器,用于保存命令执行后的结果 CDW:通道数据寄存器,用于存放传输的数据(起到缓冲的作用),I/O硬件管理,25,不同类型的I/O通道,I/O硬件管理,26,单通道与多通道,I/O硬件管理,27,I/O软件原理,I/O软件的设计需求有哪些? 解决同步(阻塞)异步(传输)的问题。 底层:如何传送控制命令?如何传输数据? 上层:如何向用户屏蔽此过程?如何调度I/O进程 实现对设备访问的错误处理。 简单情况:可在硬件底层解决的错误 复杂情况:无法有效解决,只能通知高层的错误 为便于人的使用,实现设备无关性统一命名法。 如何让用户无需考虑各种设备的差别,采用相同的习惯来使用? 如何管理不同设备的统一命名?实现名称与设备的映射? I/O设备的缓冲管理 缓冲区的维护与使用;实时I/O设备中缓冲区的预存和实时性保持 实现对专有设备的和共享设备的有效管理 共享设备:如何记录共享状态? 专有设备:如何实现对专有设备的互斥性访问?,I/O软件管理,28,I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号