您好,欢迎访问三七文档
第五章设备管理5.1设备管理的任务及功能5.2I/O系统的组成5.3I/O控制方式5.4缓冲管理5.5设备分配与设备处理5.6磁盘调度算法1.I/O性能经常成为系统性能的瓶颈I/O的特点2.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O外设种类繁多,结构各异输入输出数据信号类型不同速度差异很大3.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键4.与其他功能联系密切,特别是文件系统1)按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完成用户的I/O请求5.1设备管理的目标和任务2)向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担方便性友好界面透明性逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同I/O的差异性)3)充分利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率(并行性、均衡性)设备管理的目标和任务(续)4)保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作5)保护设备传送或管理的数据应该是安全的、不被破坏的、保密的设备管理的目标和任务(续)6)与设备无关性(设备独立性)用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备的转换用户能独立于具体物理设备而方便的使用设备用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程设备管理的目标和任务(续)(1)缓冲管理(2)设备分配(3)设备处理(4)设备独立性和虚拟设备。设备管理的功能1、按数据传输速率分高速设备低速设备2.按信息交换的单位分块设备以数据块为单位存储、传输信息字符设备以字符为单位存储、传输信息5.2.1设备的分类1)独占设备在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等)2)共享设备在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘)3)虚拟设备3.按设备的共享属性分4、按使用特性分存储型设备输入型设备(外设主机)输出型设备(主机外设)输入输出型设备(交互型设备)系统设备指操作系统生成时,登记在系统中的标准设备(如终端、打印机、磁盘机等)用户设备指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。(如A/D,D/A转换器,CAD专用设备)5.按外部设备的从属关系分6、从程序使用角度分逻辑设备物理设备设备的分类(续)CPU存储器磁盘控制器打印机控制器…其它控制器磁盘驱动器打印机系统总线图5-1总线型I/O系统结构5.2.2设备与控制器之间的接口缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O设备设备与控制器间的接口设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,使处理机从繁杂的设备控制事务中解脱出来。5.2.3设备控制器1.设备控制器的基本功能1)接收和识别命令2)数据交换3)标识和报告设备的状态4)地址识别2、设备控制器的组成数据寄存器控制/状态寄存器数据线I/O逻辑…控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制…地址线控制线CPU与控制器接口¿ØÖÆÆ÷ÓëÉ豸½Ó¿Ú设备控制器的组成5.2.4I/O通道引入通道使原来由cpu处理的I/O任务转由通道来承担,从而把cpu从繁杂的I/O任务中解脱出来。I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。I/O通道又与一般的处理机不同,主要表现在以下两个方面:一是其指令类型单一,这是由于通道硬件比较简单,其所能执行的命令,主要局限于与I/O操作有关的指令;再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的,换言之,是通道与CPU共享内存。设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器5.3I/O控制方式CPU与I/O设备之间数据传送控制方式程序直接控制中断控制方式DMA通道I/O控制的发展,宗旨:尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以更多地去完成数据处理任务。特点:用户程序直接控制数据交换;Cpu循环测试设备状态,cpu浪费特点:减少CPU等待时间,提高系统并行程度。每输入完一个数据需要CPU处理。特点:(1)数据传输单位是数据块(2)传送数据直接从设备到内存(3)仅在传送一个或多个数据块开始和结束时才需cpu干预通道控制方式当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。通道程序通道指令:(1)操作码(2)内存地址(3)计数(4)通道程序结束位P。(5)记录结束标志R。通道程序示例操作PR计数内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720指令的执行周期:开始读入下一条指令执行当前指令结束具有中断处理时的指令执行周期读入下一条指令执行当前指令结束开始允许中断吗?N检查中断位读入中断处理指令Y从用户角度看中断•中断:处理机暂停正在执行的程序,转去处理相应的紧急事件,待处理完毕后再返回原处继续执行.CPU对系统发生的某个事件作出的一种反应1.缓冲技术的引入缓和CPU与I/O设备间速度不匹配的矛盾。减少对CPU的中断频率,放宽对CPU中断响应时间的限制。提高CPU和I/O设备之间的并行性。5.4.缓冲管理利用缓冲寄存器实现缓冲1位缓冲9.6Kb/s8位缓冲寄存器送内存9.6Kb/s8位缓冲寄存器9.6Kb/s送内存(b)(a)(c)硬缓冲:在设备中设置缓冲区,由硬件实现软缓冲:在内存中开辟一个空间,用作缓冲区2.缓冲区设置3.几种缓冲技术1)单缓冲2)双缓冲3)多缓冲:4)缓冲池。缓冲池为多个设备共享,设备需要时才接上,用完归还。1.单缓冲(SingleBuffer)工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程单缓冲工作示意图每当一个用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区2.双缓冲(DoubleBuffer)工作区用户进程缓冲区1缓冲区2I/O设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)双缓冲工作示意图双缓冲(a)双缓冲(b)双机通信时缓冲区的设置缓冲区缓冲区A机B机(a)单缓冲发送缓冲区接收缓冲区接收缓冲区发送缓冲区A机B机(b)双缓冲3循环缓冲1)循环缓冲的组成RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrentR:空缓冲区G:装满数据的缓冲区C:现行工作缓冲区多个指针:nextg,nexti,current2)(1)Getbuf过程:计算进程或输入进程使用缓冲区。(2)Releasebuf过程。4缓冲池(BufferPool)1)缓冲池的组成对于既可用于输入又可用于输出的公用缓冲池,其中至少应含有以下三种类型的缓冲区:①空(闲)缓冲区;②装满输入数据的缓冲区;③装满输出数据的缓冲区。为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列:(1)空缓冲队列emq。(2)输入队列inq。(3)输出队列outq。四种工作缓冲区:hin收容输入sin提取输入sout提取输出hout收容输出2.Getbuf过程和Putbuf过程ProcedureGetbuf(type)beginWait(RS(type));Wait(MS(type));B(number)=Takebuf(type);Signal(MS(type));endProcedurePutbuf(type,number)beginWait(MS(type));Addbuf(type,number);Signal(MS(type));Signal(RS(type));end3.缓冲区的工作方式图5-13缓冲区的工作方式hinsoutsinhout收容输入提取输出用户程序提取输入收容输出缓冲池5.5设备分配5.5.1设备分配中的数据结构当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换设备控制表(DCT)每个设备一个控制器表(COCT)每个控制器一个通道表(CMCT)每个通道一个系统设备表(SDT)整个系统一个设备类型type设备标识符:deviceid设备状态:等待/不等待忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针DCT1DCT2DCTn设备控制表集合图5-14设备控制表1.设备控制表DCT2.控制器控制表、通道控制表和系统设备表图5-15COCT、CHCT和SDT表(c)系统设备表SDT控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针(a)控制器表COCT(b)通道表CHCT表目1…表目i…设备类设备标识符DCT驱动程序入口设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器5.5.21.设备的固有属性(1)独享设备。(2)共享设备。(3)虚拟设备。2.(1)先来先服务。(2)优先级高者优先。3.设备分配中的安全性1)安全分配方式2)不安全分配方式5.5.3独占设备的分配程序1.基本的设备分配程序对于具有通道的系统:•根据用户请求的I/O设备的逻辑名,查找逻辑设备和物理设备的映射表;以物理设备为索引,查找SDT,找到该设备所连接的DCT;继续查找与该设备连接的COCT和CHCT,就找到了一条通路。即:分配设备-分配控制器-分配通道为进程P分配所需的I/O设备从SDT表查该类设备的控制表DCT由DCT检查该设备忙否?不忙检查分配此设备的安全性?不安全分配此设备给进程P查此设备连接的COCT忙否?不忙不忙分配此控制器给进程P查此控制器连接的CHCT忙否?最后一个DCT?分配此通道给进程P启动I/O,进行具体的I/O操作忙进程P的PCB放入此设备的等待队列YN忙最后一个COCT?最后一个DCT?进程P的PCB放入此控制器的等待队列YNY忙最后一个CHCT?Y最后一个COCT?进程P的PCB放入此通道的等待队列NYNN多通路设备分配流程示意图2.设备分配程序的改进1)增加设备的独立性2)考虑多通路情况5.6设备处理(1)接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、磁道号及(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。1.设备驱动程序的功能和特点1)设备驱动程序的功能(3)发出I/O命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。2)设备处理方式(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。
本文标题:第五章设备管理_2
链接地址:https://www.777doc.com/doc-1314669 .html