第五章设备管理_第1页
第五章设备管理_第2页
第五章设备管理_第3页
第五章设备管理_第4页
第五章设备管理_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 设备管理概概 述述1)设备管理的基本任务)设备管理的基本任务D 完成用户提出的I/O请求,实施具体的I/O操作D 提高I/O的速度、设备的利用率及设备与CPU的并行工作能力2)设备管理的主要功能)设备管理的主要功能D 设备的分配、回收与管理D 设备的处理(I/O控制、驱动与中断处理)D 缓冲区的管理D 设备的独立性与虚拟设备的实现5.1 I/O系统I/OI/O系统:计算机系统中负责数据系统:计算机系统中负责数据I/OI/O及及存储存储的子系统的子系统1 1)I/OI/O设备类型设备类型作用方面划分:I/O型、存储型使用属性划分:独占、共享、虚拟传输速率划分:低速、中速、高速信息交换单位

2、划分:字符设备、块设备2 2)I/OI/O系统组成系统组成 一般包括I/O设备、控制器、接口及线路、设备驱动、控制和管理的相关程序,有的大中型机中还有通道。n 控制器控制器 相关概念:相关概念:连接CPU(内存)与I/O设备,用于控制设备工作,实现I/O设备与计算机之间的数据交换的硬件装置。 控制器的功能控制器的功能:接收、识别由CPU发来的命令进行数据传递与交换设备状态的检查,设备地址的识别,数据缓冲,差错控制n 通通 道道 定义定义: 能独立于CPU执行通道程序通道程序向控制器发命令的 装置特殊的处理机特殊的处理机 通道的功能:通道的功能:执行简单的I/O指令(与CPU并行并行工作)直接访

3、问内存,进行内存与I/O设备间的数据传送替代CPU,通过执行通道程序对设备进行控制 通道的类型:通道的类型:字节多路通道数组选择通道数组多路通道总线结构示意图3) I/O3) I/O系统体系结构系统体系结构 微机系统:总线结构 大型机系统:通道结构CPU内存内存磁盘控制器磁盘控制器打印机控制器打印机控制器磁盘磁盘打印机打印机系统总线系统总线CPU内存内存通道通道1通道通道2控制器控制器1设备设备1设备设备2控制器控制器m设备设备3设备设备4通道通道n单通道结构示意图单通道结构示意图5.2 I/O5.2 I/O控制方式控制方式p 程序程序I/OI/O方式方式p 中断驱动中断驱动I/OI/O方式(

4、一般中断方式)方式(一般中断方式)p DMA I/ODMA I/O方式(方式(DMADMA控制器控制方式)控制器控制方式)p 通道通道I/OI/O控制方式(采用控制方式(采用I/OI/O通道实施控制)通道实施控制)1 1)程序)程序I/OI/O方式方式工作过程工作过程 CPU发一条I/O指令给控制器,启动设备工作 CPU不断测试设备的工作状态直至设备完成工作 CPU发下一条I/O指令,再次启动设备工作特点特点CPU等待设备完成工作,CPU效率很低2)中断驱动)中断驱动I/O方式方式中断机构中断机构设备自动产生中断信息,并由CPU进行响应和处理 工作过程工作过程 CPU发出I/O指令给控制器启动

5、设备工作 其后CPU不再等待设备完成,而是返回执行其他程序 待设备完成时产生中断信号,CPU才去响应处理特点特点 CPU与设备间断并行工作,但设备每传送一个数据(通常为字节或字),CPU则要响应处理中断一次,效率仍不是太高3 3)DMA I/ODMA I/O控制方式控制方式DMADMA控制器的组成控制器的组成countCPU 内存主机控制器接口控制器与块设备接口DRMARDCCRI/O控制逻辑DMA 控制器系统总线命令 工作过程工作过程CPU发I/O指令给DMA控制器(进行相应设置),启动设备工作其后CPU返回执行其他程序待DMA控制设备将一组数据传送完毕产生中断后,CPU才去干预处理 特点特

6、点CPU与设备间断并行,CPU效率较高4)通道)通道I/O控制方式控制方式工作过程工作过程 CPU向通道发命令,启动通道工作,CPU返回继续执行 通道执行事先组织好的通道程序,启动设备进行数据传送 待通道程序执行完毕,产生通道中断,CPU才响应处理特点特点CPU与通道、设备完全并行工作,CPU效率高5 5)四种方式比较)四种方式比较特点适用场合(系统)程序I/O方式:CPU等待设备完成早期无中断机构中断I/O方式:CPU与设备间断并行一般字符设备DMA I/O方式:CPU与设备间断并行块设备通道I/O方式:CPU与设备并行大型有通道5.3 缓冲技术和缓冲管理缓冲技术和缓冲管理p缓冲的引入缓冲的

7、引入p缓冲的实现缓冲的实现p缓冲区类型缓冲区类型p缓冲池管理缓冲池管理 1 1)缓冲的引入)缓冲的引入 在操作系统中,引入缓冲的主要原因,可归结为以下几点:缓和缓和CPU与与IO设备间速度不匹配的矛盾设备间速度不匹配的矛盾减少对减少对CPU的中断频率的中断频率,放宽对中断响应时间的限制放宽对中断响应时间的限制提高提高CPU和和IO设备之间的并行性设备之间的并行性 注:凡数据到达率与离去率不一致的场合,均可采用凡数据到达率与离去率不一致的场合,均可采用缓冲加以解决缓冲加以解决2 2)缓冲的实现)缓冲的实现硬缓冲:在设备中设置缓冲区(通常是一组寄 存器)由硬件实现软缓冲:在内存中开辟一个空间用作缓

8、冲区3 3)缓冲的类型)缓冲的类型 专用缓冲区:单缓冲、双缓冲、多缓冲 公用缓冲区:缓冲区的集合(缓冲池) 注:注:分配的缓冲区个数愈多,缓冲效果愈好分配的缓冲区个数愈多,缓冲效果愈好4 4)各种缓冲及其管理)各种缓冲及其管理n 单缓冲单缓冲主机(内存)I/O设备 n 双缓冲双缓冲数据(设备)缓冲区缓冲区2缓冲区1内存(主机) 缓冲区的数据存取操作可并行缓冲区的数据存取操作可并行缓冲区的数据存取操作是串行的缓冲区的数据存取操作是串行的n 循环多缓冲循环多缓冲 变量含义变量含义 G 装满数据的缓冲区 R 空缓冲区 C 当前工作的缓冲区 Nexti 指向下一个可用空缓冲区指针 Nextg 指向下一

9、个满缓冲区指针 Current 正在使用的缓冲区的指针 循环缓冲区的使用过程及同步循环缓冲区的使用过程及同步注:只要Nextg不赶上Nexti,都可从满缓冲区中取数据 只要Nexti不赶上Nextg,都可向空缓冲区中送数据GGRRGGNextiNextgn缓冲池及其管理缓冲池及其管理缓冲池缓冲池:公用缓冲区的集合组成组成:空缓冲区队列空缓冲区队列(供分配的空缓冲区组成) 输入缓冲区队列输入缓冲区队列(装满输入数据的满缓冲区组成) 输出缓冲区队列输出缓冲区队列(装满输出数据的满缓冲区组成)工作方式(四种)工作方式(四种) 收容输入收容输入:从输入设备输入数据到空缓冲区 提取输入提取输入:从输入缓

10、冲区中提取数据到内存工作区 收容输出收容输出:从内存向空缓冲区中送数据 提取输出提取输出:从输出缓冲区中提取数据到输出设备输出缓冲池工作原理缓冲池工作原理123hin 3L(out)151372F(out)sout 5输输入入设设备备输输出出设设备备L(em)121063F(em)sin 4hout 1 用用 户户 程程 序序。O84F(in)L(in)4565.4 I/O软件l 总体设计目标:高效性高效性和通用性通用性l 基本思想:I/O软件按分层分层的思想构成,较低层软件要使较高层软件独立于硬件的特性,较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强的接口。1)I/O软件的层次

11、结构 各层任务如下:各层任务如下:用户层软件用户层软件:实现与用户交互的接口,用户可执行I/O系统调用设备独立性软件设备独立性软件:负责实现适用于所有设备的功用操作,并向用户层提供一个统一的接口设备驱动程序:设备驱动程序:与硬件直接相关,负责具体实施对设备发出操作指令驱动I/O设备工作中断处理程序:中断处理程序:I/O中断发出后执行相应的程序进行I/O的善后处理,并在处理完成后返回被中断进程硬件层:硬件层:实现物理IO的操作v 中断处理程序中断处理程序 唤醒被阻塞的驱动程序进程对被中断进程的CPU环境进行保护分析中断原因,转入相应的中断处理程序终端中断处理程序打印机中断处理程序磁盘中断处理程序

12、恢复被中断进程的CPU现场返回被中断的进程,继续执行中断请求信号v设备驱动程序设备驱动程序A.A.主要功能主要功能接收上层软件(比如I/O进程)发来的命令和参数,并将其转换成具体的操作要求向控制器发I/O指令,启动设备工作,并进行中断响应和处理在有通道的I/O系统中,生成通道程序B.设备处理的方式设备处理的方式为每类设备设置一个驱动进程整个系统设置一个驱动进程不设置进程,仅设置相应驱动程序供调用无论何种处理方式,都必须有一组相应的驱动程序无论何种处理方式,都必须有一组相应的驱动程序C.C.驱动程序特点驱动程序特点 I/O请求与设备控制器之间的通信和转换程序 与设备控制器和I/O设备硬件特性相关

13、 与采用的I/O控制方式相关 其中部分必须是汇编语言实现D.D.设备驱动的处理过程设备驱动的处理过程 转换上层软件的抽象要求为具体操作要求 对I/O请求进行合法性检查 对控制器、设备的工作状态进行检测 向控制器传送参数和命令,启动设备工作v设备独立性软件设备独立性软件A.设备独立性设备独立性:概念:概念:应用程序独立于物理设备即与具体设备无关好处好处:增加了设备分配的灵活性;利于设备的更新(I/O重定向重定向)实现实现:应用程序采用逻辑设备名逻辑设备名请求使用某类设备,实际执行时使用物理设备名称。系统通过逻辑设备表逻辑设备表(LUT)为之实现逻辑设备到物理设备的转换。B.设备独立性软件设备独立

14、性软件 基本任务是实现所有设备都需要的功能,并且向用户级软实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口件提供一个统一的接口。其中所有设备共有的操作包括:独占设备的分配和释放逻辑设备名到物理设备名的映射 设备保护提供与设备无关的逻辑块缓冲管理差错控制5.5 5.5 设备分配设备分配 设备分配程序按照一定的策略把设备分配给I/O请求用户以解决资源的无序竞争问题,确保设备安全,正确地共享使用。 1)设备分配的相关数据结构)设备分配的相关数据结构p设备控制表 DCTp控制器控制表 COCTp通道控制表 CHCTp系统设备表 SDT n 设备控制表(设备控制表(DCT)每个设备一张,描述

15、设备特性和状态。反映设备特性、设备和控制器的连接情况。设备类型 type设备标识符:deviceid设备状态:等待/不等待 忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针DCT 1DCT 2DCT n设备控制表集合n 控制器控制(COCT)n 通道控制表(CHCT)n 系统设备表(SDT) 系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口(c) 系统设 备 表 SDT控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首

16、址通道队列的队首指针通道队列的队尾指针(a) 控制器表COCT(b) 通道表CHCT表目1表目i设备类设备标识符DCT驱动程序入口各表间的关系示意图各表间的关系示意图DCTCOCTCHCTSDT表目表目PCBPCB 2 2)设备分配应考虑的相关因素)设备分配应考虑的相关因素p 设备的使用属性p 设备分配的策略(算法)p 设备分配的安全性p 设备的独立性(无关性)n设备使用属性 独占设备独占设备: 共享设备共享设备: 虚拟设备虚拟设备:一次只能分配给一个用户(进程)使用可同时分配给多个进程使用(比如磁盘)逻辑上可同时分配给多个进程,物理上仍是一个进程一个进程依次使用n 设备分配算法设备分配算法

17、先请求先服务先请求先服务 优先级高者优先优先级高者优先n 设备分配的安全性设备分配的安全性 安全分配方式安全分配方式:进程请求I/O后,立即被阻塞(不会 产生新的请求) 不安全分配方式不安全分配方式:进程请求I/O后不阻塞,会产生新 的请求n 设备独立性(即设备无关性)设备独立性(即设备无关性) 用户程序中所使用的设备(逻辑设备)与系统配置的实际物理设备无关。3)独占设备分配流程)独占设备分配流程 查查SDT,找到对应,找到对应DCT设备忙?设备忙?插入设备请求队列插入设备请求队列Y查查COCT控制器忙?控制器忙?Y插入控制器等待队列插入控制器等待队列NN查查CHCT通道忙?通道忙?YN插入通

18、道等待队列插入通道等待队列分配成功!分配成功!图图1:独占设备(单通路)分配流程:独占设备(单通路)分配流程5.6 Spooling技术与虚拟设备1)问题的提出与解决)问题的提出与解决 问题提出问题提出独占设备一旦被某进程占用,即使占用期间设备闲置,其他请求者必须长期等待,导致进程推进速度放慢,系统效率降低 解决办法解决办法 采用脱机I/O,需增加外围机,且是脱机操作 利用Spooling技术,进行假脱机I/O操作 Spooling工作原理工作原理利用可并发执行的输入和输出进程,在联机的状态下,模拟实施脱机I/O操作:预输入预输入和和缓输出缓输出 称实现假脱机操作的系统为称实现假脱机操作的系统

19、为Spooling系统系统Application AApplication BSPOOLingProgramDeviceVirtual I/OActual I/O2)Spooling系统的设计与实现系统的设计与实现1 1 输入井和输出井:在磁盘上。输入井和输出井:在磁盘上。2 2 输入缓冲区和输出缓冲区:在内存。输入缓冲区和输出缓冲区:在内存。3 3 输入进程和输出进程:守护(输入进程和输出进程:守护(daemondaemon)进程)进程输入缓冲区输入缓冲区输出缓冲区输出缓冲区输入进程输入进程Spi输出进程输出进程Spo输入设备输入设备输出设备输出设备输入井输入井输出井输出井独占设备独占设备主

20、机(内存)主机(内存)磁盘磁盘3)工作过程举例(以请求打印机为例)工作过程举例(以请求打印机为例) 多个进程同时请求打印机,由Spooling系统响应 根据请求,为用户进程分配磁盘输出井空间,将输出(打印)数据快速写到输出井中(暂存) 建立“用户请求打印表”,填入相关请求数据 将请求打印表插入请求打印队列 待打印机空闲时,若请求打印队列不空,则唤醒输出进程,待其调度执行时,根据请求打印表信息从输出井读入数据送内存缓冲区,再由打印机输出,直至输出完毕 重复上一操作,直至请求打印队列空为止(可阻塞输出进程)4)Spooling系统的作用与特征系统的作用与特征 提高了I/O的速度,同时也提高了进程的

21、推进速度 将独占设备改造为独占设备改造为逻辑上可共享的设备共享的设备 实现了虚拟设备虚拟设备的功能(一名独占设备被逻辑扩充为 多台)设备管理归纳设备管理归纳 任务任务 实现实现完成用户I/O请求,实施I/O操作 设备分配,设备驱动,中断处理提高I/O的速率及与cpu并行工作能力引入缓冲技术,实现虚拟设备提高磁盘的存取访问速度提高磁盘的存取访问速度5.7 磁盘存储器管理D 磁盘存储器磁盘存储器:外部存储器或辅助存储器(重要的设备) 特点:可长期保存程序和数据,容量大 缺点:存取访问速度较低(比内存低46数量级)D 磁盘管理的目标磁盘管理的目标 改善磁盘系统的性能,提高存取(访问)速度1)磁盘存储

22、器简介)磁盘存储器简介 磁盘类型磁盘类型:硬盘和软盘 移动头和固定头磁盘 结构结构 每个盘面有若干磁道磁道 每个磁道划分成若干扇区扇区 每个磁道某扇区对应的弧被称为一个盘块盘块 移动头磁盘的访问时间移动头磁盘的访问时间a)寻道时间Tsb)旋转延迟时间Trc)数据读/写时间Tt 要提高磁盘数据的存取速度,必须尽可能较少要提高磁盘数据的存取速度,必须尽可能较少寻道时间寻道时间2)磁盘调度)磁盘调度选择磁盘访问的寻道次序,不同的次序形成不同的磁盘调度算法,希望选用的调度算法使得平均寻道的时间为最少。常用的磁盘调度算法有:l先来先服务算法先来先服务算法l最短寻道时间优先最短寻道时间优先l扫描法(来回双

23、向)扫描法(来回双向)l循环扫描法(单向)循环扫描法(单向)磁盘I/O执行顺序为磁盘I/O请求的先后顺序。磁头需要移动640个柱面,平均寻道长度80l 先来先服务(先来先服务(FCFSFCFS) 选择从当前磁头位置出发,移动最少的磁盘I/O请求。该算法的目标是使每次磁头移动时间最少。l 最短寻道时间优先最短寻道时间优先 SSTFSSTF磁头需要移动236个柱面,平均寻道长度29.5l 扫描扫描(SCAN)(SCAN)算法:算法: 选择在磁头前进方向上从当前位置移动最少的磁盘I/O请求执行,没有前进方向上的请求时才改变方向。故又称电梯调度算法磁头总共移动了磁头总共移动了236/208236/20

24、8个柱面的距离个柱面的距离l循环扫描算法循环扫描算法CSCANCSCAN CSCAN算法规定磁头只能单向运动(如自里向外),当磁头运动到最外面的被访问磁道时,磁头立即返回到最里面的欲访的磁道,即将最小磁道号紧接着最大磁道号构成循环,进行扫描。磁头总共移磁头总共移动了动了322322个柱个柱面的距离面的距离例:某时刻多个进程请求访问磁盘的磁道序列为55, 58, 39, 18, 90, 160, 150, 38, 184假定当前磁头位置位于100道且由外向里移动1.183839555890(100)150160184先来先服务的寻道次序为:55, 58, 39, 18, 90, 160, 150, 38, 184平均寻道长度为: 498/9=55.3道 4. 循环扫描法的平均寻道长度为 322/9=35.8道2.最短寻道时间优先的寻道次序为:90, 58, 55, 39, 38

温馨提示

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

评论

0/150

提交评论