IO设备的多样性培训资料

上传人:日度 文档编号:150843954 上传时间:2020-11-09 格式:PPT 页数:37 大小:400KB
返回 下载 相关 举报
IO设备的多样性培训资料_第1页
第1页 / 共37页
IO设备的多样性培训资料_第2页
第2页 / 共37页
IO设备的多样性培训资料_第3页
第3页 / 共37页
IO设备的多样性培训资料_第4页
第4页 / 共37页
IO设备的多样性培训资料_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《IO设备的多样性培训资料》由会员分享,可在线阅读,更多相关《IO设备的多样性培训资料(37页珍藏版)》请在金锄头文库上搜索。

1、1,第13章 I/O系统,I/O设备的多样性 Os管理和控制 I/O操作和I/O设备。,2,13.1 I/O管理概述,外设管理目的 提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设 方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用 方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型 外设管理功能 提供设备使用的用户接口:命令接口和编程接口 设备分配和释放:使用设备前,需要分配设备和相应的通道、控制器。 设备的访问和控制:包括并发访问和差错处理(虚拟设备)。 I/O缓冲和调度:目标是提高I/O访问效率,3,按交互对象分类 人机交互设备:

2、视频显示设备、键盘、鼠标、打印机 与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、控制器 计算机间的通信设备:网卡、调制解调器 按交互方向分类 输入(可读):键盘、扫描仪 输出(可写):显示设备、打印机 输入/输出(可读写):磁盘、网卡 按外设特性分类 使用特征:存储、输入/输出、终端 数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡、磁盘) 信息组织特征:单个字符或数据块 字符设备(如打印机):通常的输入输出型设备,以字符为单位存储、传输信息;不可寻址 块设备(如磁盘):以数据块为单位存储、传输信息。可寻址,13.1 I/O管理外部设备类型和特征,4,按资源分配角度分类 独占

3、设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。如打印机,磁带等。 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。如硬盘 虚拟设备 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备(实例:SPOOLing技术) 从程序使用角度分 逻辑设备: 用户程序中使用的设备 物理设备:实际完成I/O操作的设备,13.1 I/O管理外部设备类型和特征,5,13.2 I/O控制技术,程序控制I/O(轮询):CPU代表进程给I/O模块发送一个命令,CPU进入忙等待(输入输出完全由CPU控制)

4、 中断驱动I/O: CPU代表进程给I/O模块发送一个命令,然后CPU继续执行后续指令; 当I/O模块完成后,CPU被该模块(CPU和I/O设备可以共同工作)中断。 直接存储器存取(DMA):CPU给DMA模块发请求,只有当DMA将整个数据块传送结束后,CPU才被中断(数据在内存和外设之间传输时不需要CPU干预)。,6,设备绝对号和相对号,设备绝对号:计算机系统为每一台设备确定的编号,用来区分和识别设备; 用户在编写程序时不能通过设备的绝对编号来使用设备 设备类型号:操作系统为每类设备规定的一个编号 设备相对号:用户自己规定的所用的同类设备中的第几台。 如Unix中,rfd0和rfd1分别表示

5、第1个和第2个软盘驱动器;,7,设备绝对号和相对号,设备的指定方式 设备绝对号 设备类型号+设备相对号 用户程序中提出使用设备的申请时,使用系统规定的设备类型号和用户自己规定的设备相对号,由操作系统进行地址转换,变成系统中的设备绝对号;,8,I/O软件的设计目标: 效率:大多数I/O设备慢,I/O操作一般是系统瓶颈,很大程度上影响系统的性能和吞吐量。因此要改善I/O的有效性,采用多道程序设计、交换。目前比较关注磁盘I/O。 通用性:设备种类、特点和性能千差万别;要求能够以一种一致的方式来管理所有设备一致的外部接口,很难做到通用,但希望能够用统一的方法处理所有设备,用一种层次化的,模块化的方法设

6、计I/O功能。 能够在低层例程中隐藏大部分设备I/O的细节, 使得用户进程和OS高层可以通过一些通用的功能,如读、写、打开、关闭等查看I/O设备。 设备独立性。用户在编写使用软盘或硬盘上文件的程序时,无需为不同的设备类型而修改程序就可以使用 统一命名。一个文件或一个设备的名字只应是一个简单的字符串或一个整数,不应依赖于设备,13.3 设备管理系统的组织,9,设备独立性,如果用户程序中直接使用真实的物理设备,那么会出现这样的问题:用户指定的设备因故障不能使用,或者该设备正忙于为其他进程服务,只有等待或者修改程序,重新指定设备。 为了实现用户程序与物理设备的无关性,在用户程序中不要直接使用物理设备

7、名(或者设备的物理地址),而只能使用逻辑设备名。逻辑设备是实际物理设备的抽象,它不限于某类具体设备。逻辑设备究竟和哪一个具体的物理设备相对应,还要由系统根据当时的设备忙、闲情况来决定或者由系统管理员指定。,10,IO软件的基本思想是按分层的思想构成: 较低层软件要使较高层软件独立于硬件的特性, 较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强的接口,13.3 设备管理系统的组织,11,13.3 设备管理分层模型,12,逻辑I/O:将设备当作一个逻辑资源,不涉及实际的设备控制的细节: 针对用户接口,提供抽象的命令,如:Open, Close, Read, 针对通信设备,则是通信体系结

8、构如网络协议栈; 针对文件存储设备,是文件系统的逻辑结构控制; 设备I/O:逻辑设备与物理设备间的过渡协调机构。用户命令到设备操作序列的转换。请求的操作和数据被转换成适当的I/O指令序列、通道命令和控制器指令。可以用I/O缓冲提高I/O效率 调度和控制:是I/O模块和设备硬件真正发生交互的软件层,直接面对硬件设备的控制细节。如I/O操作的排队,设备控制和状态维护、中断处理。这部分通常体现为设备驱动程序;,13.3 设备管理分层模型,13,进行I/O调用,格式化I/O; Spooling,命名,保护,阻塞,缓冲,分配,建立设备寄存器;检查状态,当I/O结束时,唤醒驱动器,执行I/O操作,I/O系

9、统的层次结构及每层的主要功能,14,用户进程层执行输入输出系统调用,对I/O数据进行格式化 独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配;(逻辑I/O) 设备驱动程序设置设备寄存器、检查设备的执行状态 中断处理程序负责IO完成时,唤醒设备驱动程序进程,进行中断处理 硬件层实现物理IO的操作,I/O系统的层次结构及每层的主要功能,15,练习题,描述设备管理软件的层次结构,并说明以下的工作各在I/0软件层次的哪一层? 维护一个最近使用的块的缓冲。 为一个磁盘读操作计算磁道、扇区、磁头。 向设备寄存器写命令。 设备保护 各类I/O库函数,16,缓冲技术的基本思想:在CPU

10、和外设之间设置缓冲区,用于暂存CPU与外设之间交换的数据,从而缓和CPU与外设速度不匹配的矛盾。 缓冲区所在的位置:内存,控制器或外设(多级缓冲机制) 硬件缓冲,如I/O控制器中的数据缓冲寄存器 软件缓冲:在内存画出一个具有n个单元的专用缓冲区。 根据方向:分为输入缓冲和输出缓冲 根据用途:分为专用缓存(为一个设备独占,如键盘缓存)和公用缓存(为多个设备公用),缓冲区,CPU,外设,13.4 缓冲,17,13.4 缓冲,无缓冲时问题分析:设备直接向进程地址空间传送数据(如用户从磁带中读数据块的操作),则进程要么忙等待,要么阻塞。 如果用忙等待方式,则浪费大量CPU时间; 如果是阻塞方式,则进程

11、阻塞在设备的I/O请求队列中。这时,不能将进程全部换出,还可能出现单进程死锁。(进程在等待I/O操作结果之前被换出,等待I/O事件,而I/O操作也被阻塞,等待该进程被换入。),18,缓冲技术的用途 可以在发出请求之前就开始执行输入操作(预输入),在发出请求一段时间后才开始执行输出操作(缓输出)。 匹配CPU或用户应用进程与外设的不同处理速度 减少对CPU的中断次数: 提高CPU和I/O设备之间以及各个I/O设备之间的处理并行性。 多道程序环境中提高OS效率和单个进程的工具(技术)之一。,13.4 缓冲用途,19,单缓冲(single buffer):当一个用户进程发出I/O请求时,OS给该操作

12、分配一个位于主存中系统部分的缓冲区。以面向块的设备为例:输入先传送至系统缓冲区,当传送完成时,进程将该块移动到用户空间,并立即请求另一块预读(对于输出,则称为延迟写)。 好处: 用户可以在下一块数据正在读入时,处理这块数据(用户进程处理某个数据块的同时,下一个数据块正在读入)。由于输入发生功能在系统存储空间而不是用户进程存储区,因此OS可以将该进程换出。 增加了OS的逻辑复杂度:OS必须直到用户进程的缓冲区的分配情况,交换逻辑受到影响。,13.4 缓冲单缓冲区,20,13.4 缓冲双缓冲和循环缓冲,双缓冲(double buffer):两个缓冲区,CPU和外设都可以连续处理而无需等待对方。当一

13、个进程往一个缓冲区中写数据时(取数据)时,OS正在清空(填充)另一个缓冲区。 循环缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大,如这个进程突然快速执行了大量的I/O。,21,13.4 I/O 缓冲,22,13.4 I/O 缓冲,23,由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法: 1)在进程间切换使用外设,如键盘和鼠标; 2)通过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。,13.4 设备分配,24,13.4.1 设备分配数据结构,系统设备表(SDT, Syst

14、em Device Table):系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。 设备控制表(DCT, Device Control Table):每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。 控制器控制表(COCT, COntroller Control Table):每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。 通道控制表(CHCT, CHannel Control Table):每个通道一张,描述通道工作状态。,25,各表间的关系,系统设备表,设备控制表(DCT),控制

15、器控制表COCT,通道控制表CHCT,26,13.4.2 设备分配原则,设备分配的原则 合理使用外设(公平和避免死锁) 提高设备利用率 应用程序与设备无关 与设备分配有关的设备属性: 独享设备:打印机等; 共享设备:磁盘、网卡等; 设备分配技术: 独占分配:不会出现死锁;但设备利用率不高; 共享分配:利用率高,但控制复杂 虚拟分配:利用共享设备去实现独占设备的功能;有利于提高设备利用率,27,先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列,队首指向被请求设备的DCT;按FCFS分配设备; 基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级

16、高低分配设备;,13.4.2 设备分配算法,28,先回顾一下设备分类问题 按资源分配角度分类 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。如打印机,磁带等。因数量有限,会成为系统中的“瓶颈”资源,使进程经常处于阻塞状态;设备利用率比较低 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高(如硬盘),13.5 Spooling系统,29,13.5 虚拟设备,虚拟设备技术 多道程序系统中,进程对设备的需求频繁,尤其是独占设备数量有限、效率低,故引入虚拟设备管理技术。 基本思想:用大容量的快速设备(磁盘)模拟慢速度的独占设备,把一台物理上的独占设备变为逻辑上的多台共享设备。 通过共享型设备来模拟独占型设备的动作,使独占型设备成为共享型设备,提高设备的利用率和系统的效率。 实例:SPOOLing技术(Simultaneously Peripheral Operation On Line,外围设备同时联机操作),是用程序模拟脱机I/O的功能,故又称为假脱机技术。,30,虚拟设备,13.5 Spool

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

当前位置:首页 > 行业资料 > 教育/培训

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