操作系统-设备管理节选.ppt

上传人:xt****7 文档编号:3889188 上传时间:2019-12-27 格式:PPT 页数:96 大小:1.15MB
返回 下载 相关 举报
操作系统-设备管理节选.ppt_第1页
第1页 / 共96页
操作系统-设备管理节选.ppt_第2页
第2页 / 共96页
操作系统-设备管理节选.ppt_第3页
第3页 / 共96页
点击查看更多>>
资源描述
第八章输入/输出管理,1.输入输出管理2.数据传送控制方式3.缓冲技术4.设备分配5.磁盘设备管理6.Spooling系统,设备管理的目标,提高系统资源利用率,方便用户使用,在多道程序环境中,设备管理重点放在:设备的有效使用让用户方便使用设备设备和CPU的并行工作,设备管理的任务和功能,基本任务:按照用户的要求来控制设备操作,对外部设备进行管理,是操作系统中最具多样性、复杂性的部分。主要任务:按照用户的要求控制IO设备工作,完成用户所希望的IO操作按照一定的算法把IO设备分配给对该设备提出请求的进程充分有效地使用IO设备,I/O管理功能,1.状态跟踪设备控制块是存放设备管理和控制信息的数据结构,动态的记录各种设备的状态。2.制订设备分配策略决定设备分配策略,以确定谁、何时使用设备,使用多长时间。3.设备分配与回收作业级静态分配进程级动态分配4.设备控制实施设备驱动和中断处理的工作。设备控制包括设备的驱动、完成和故障中断处理。,设备分类,按使用特性分类:存储设备输入输出设备终端设备脱机设备按从属关系分类:系统设备用户设备按信息组织方式分类:块设备字符设备,按设备的从属关系分类系统设备操作系统时,就已经登记过的各种标准设备,如:键盘,显示器,打印机用户设备系统设备之外的非标准设备,安装时,需要装驱动程序,如:绘图仪,扫描仪,按操作特性分类输入/输出设备:向主机输入信息和输出主机信息的设备。如:键盘,显示器存储设备:计算机中用来存放各种信息的载体,如:磁盘,磁带,磁鼓,按设备共享属性分类独享设备:该类设备一旦分配给某进程,直到该进程结束之后才能释放设备共享设备:在一段时间内允许多个进程访问的设备,如:磁盘虚拟设备:通过虚拟技术,将独享设备变换为若干台逻辑设备,供若干个进程同时使用,设备独立性,1.设备独立性的概念(1)逻辑设备名逻辑设备名是用户自己定义的设备名(或设备号)。它是暂时的,可更改的。(2)物理设备名物理设备名是系统提供的设备的标准名称,它是永久的、不可更改的。(3)设备独立性设备独立性是指用户在编程序时所使用的设备与实际设备无关。也就是在用户程序中可使用逻辑设备名。,3.设备独立性的优点方便用户编程提高系统资源的利用率使用程序运行不受具体的机器环境的限制。提高系统的可扩展性和可适应性,外部设备在中央处理机的控制下完成工作。?中央处理机做多少工作?外部设备做多少工作?决定CPUI/O设备并行能力2.数据传送控制方式,计算机系统的输入/输出,实质是进行数据的输入/输出,即数据的传输。数据传输:I/O设备内存I/O设备CPU,数据传送控制方式,系统总线,CPU,内存,磁盘控制器,打印机控制器,HD,打印机,微机的I/O设备通过总线与CPU连接,设备控制器,通过自己内部的寄存器与CPU通信,一设备控制器,I/O设备一般由机械部分与电子部分构成,把这两部分分开处理,通过接插件、电缆相连。机械部分即设备本身电子部分即设备控制器(适配器、接口卡)每种I/O设备都要通过设备控制器与CPU相连。设备控制器是CPU与I/O设备间的接口,处于CPU与外设之间。,2数据传送控制方式,什么是数据传送控制方式:数据传送控制方式是指如何控制设备与内存之间的数据传输过程的方式。,17,设备控制器,在微型机和小型机中的控制器,常做成印刷电路卡形式,因而也成接口卡,可将它插入计算机(插槽中)。设备控制器是计算机中的一个实体,其主要职责是控制一个或多个(同类)I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU和I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,以使处理机从繁杂的设备控制事务中解脱出来。,程序(CPU)直接控制方式(“被动式”),中断驱动方式(“主动式”),DMA控制方式(基于中断的主动型),通道控制方式(基于中断的主动型),数据传输控制方式的发展过程,程序直接控制方式:早期采用“被动式”,控制器设置一个完成标志,等待CPU来查询由CPU直接控制内存和外围设备之间的信息传送。I/O操作由程序发起,并等待操作完成。数据的每次读写通过CPU控制,包括发送读写命令、循环测试设备状态、传输数据。,接下页,(b),程序直接控制方式图示,接下页,程序直接控制方式优缺点,返回,优点:控制简单。缺点:1)CPU和外围设备只能串行工作。2)CPU在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作。3)由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件产生的错误。适合:专用控制系统;外设较少、CPU速度较慢的系统。,工作方式:CPU向I/O部件发出命令后,转去做其他有用的工作。当I/O部件准备好一个数据(对输入)或输出完一个数据后(对输出)后,利用中断通知CPU,再由CPU完成设备与内存的数据传输。,特点:CPU不必反复测试寄存器状态,节约了时间。CPU可以与设备并行工作。但每个字节的数据传输都必须经过CPU寄存器转发。,中断控制方式,接下页,中断控制方式处理过程,接下页,优点:CPU利用率较程序直接控制器有大大的提高,且能支持多道程序和设备的并行操作。缺点:1)在一次数据(若干字节)传送过程中,发生中断次数较多。2)CPU由于中断次数增多而无法响应中断和出现数据丢失。适合:低速的字符设备,中断控制方式优缺点,返回,以上介绍的程序控制方式和中断方式,主机与外设进行的数据传送都是以CPU为中心组织的。,DMA方式:直接存取方式,其基本思路是在外部设备和内存之间开辟直接的数据交换通路直接存取方式:不需要CPU的加入。形成了以内存为中心组织的数据传送,直接存储访问方式(DMA,DirectMemoryAccess),工作方式:由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作;在DMA控制之下完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。,接下页,DMA方式的传送结构,29,2、DMA控制器的组成,为了实现在主机与控制器之间成块数据的直接交换1)命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。2)内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。3)数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。4)数据计数器DC。存放本次CPU要读或写的字(节)数。,在DMA方式中,I/O控制除了控制状态寄存器和数据缓冲寄存器之外,DMA控制器中还包括传送字节计数器、内存地址寄存器等。DMA方式窃取或挪用CPU的一个工作周期把数据缓冲寄存器中的数据直接送到内存地址寄存器所指向的内存区域。,DMA传输数据步骤:1.一进程请求设备I/O,CPU做如下事:内存起始地址DMA控制器的地址寄存器传输字节数DMA控制器的字节计数器启动DMA控制器2.该进程阻塞,等待I/O完成3.DMA与内存进行数据传输,成批数据传送由字节计数器计算控制4.传输完,向CPU发中断完成信号5.CPU接受DMA中断请求,转中断处理程序6.数据传送完成,唤醒被阻塞进程,直接存储访问方式优缺点,优点:CPU只需干预I/O操作的开始和结束,而一批数据传输由DMA控制,无需CPU控制,提高了CPU与设备的并行工作程度,排除了中断方式中的数据丢失现象。适于高速设备。如:磁盘,返回,缺点:DMA方式对外围设备的管理和某些操作仍由CPU控制。系统中多个DMA同时使用,可能造成内存地址冲突。管理和控制复杂化。DMA方式一次只能传送一批地址连续的数据块,如果需传送多个地址不连续的数据块,则需启动DMA多次。,通道控制方式,与DMA方式不同的是:在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由专管输入输出的硬件通道来进行控制。DMA方式时每台设备至少一个DMA控制器相比,通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,从而,通道方式进一步减轻了CPU的工作负担和增加了计算机系统的并行工作程度。,由于通道是一个专管输入输出操作控制的硬件,有必要更进一步完整地描述一下通道的定义:通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。,数据传送控制方式,CPU,通道,设备控制器,设备控制器,设备,设备,设备,设备,通道方式工作步骤:一进程提出I/O请求,CPU把数据传输任务交给通道(指明操作方向、设备号、通道号)该进程阻塞,CPU随即被调度给其它进程通道按CPU发来的启动命令,调用通道程序执行(这时通道与CPU并行工作),外设在通道程序的规定下,与内存交换数据数据传输完毕,通道向CPU发中断请求CPU响应中断,转中断处理程序,对I/O作善后处理,唤醒被阻塞的进程成就绪态。,通道控制方式优点,优点:启动一次通道执行一个通道程序可以传送几批地址不连续的数据块。数据传输过程中对CPU的干扰比DMA更少,CPU利用率更高,对通道的控制更简单。通道通过执行通道程序控制输入输出,比较灵活。,返回,程序(CPU)直接控制方式(“被动式”),中断驱动方式(“主动式”),DMA控制方式(基于中断的主动型),通道控制方式(基于中断的主动型),数据传输控制方式的发展过程,在IO系统中增加一级通道处理机,用以代替CPU与各设备控制器通信,对它们进行控制。具有通道装置的计算机系统,整个输入输出系统呈现如图所示的四级连接、三级控制方式。,一个通道可以以分时方式同时执行几个通道指令程序。按照信息交换方式不同,一个系统中可设立三种类型的通道,即字节多路通道、数组多路通道和选择通道。,图9.7通道方式的数据传送结构,字节多路通道以字节为单位传送数据,它主要用来连接大量的低速设备,如终端、打印机等2.数组多路通道以块为单位传送数据,它具有传送速率高和能分时操作不同的设备等优点。数组多路通道主要用来连接中速块设备,如磁带机等。,数组多路通道和字节多路通道都可以分时执行不同的通道指令程序。但是,选择通道一次只能执行一个通道指令程序。所以,选择通道一次只能控制一台设备进行I/O操作。不过,选择通道具有传送速度高的特点,因而它被用来连接高速外部设备,并以块为单位成批传送数据。受选择通道控制的外设有磁盘机等。,缓冲的概念1.为什么要使用缓冲(1)两种设备之间传输信息时速度不匹配(2)负载不均匀系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O,造成I/O负荷的不均匀。,慢速设备,快速设备,慢速设备,快速设备,中速设备缓冲,2.什么是缓冲,缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。缓冲技术是用来匹配CPU与设备之间速度差异和负荷的不均匀。3.缓冲的实现(1)缓冲器用来暂时存放数据的一种硬件存储装置,容量较小。(2)软件缓冲区I/O操作期间,用来临时存放I/O数据的一块主存区域。,缓冲的种类,单缓冲(singlebuffer):设一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。双缓冲(doublebuffer):设两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。多缓冲(multiplybuffer):多个缓冲区,CPU和外设的处理速度可以相差较大。如用于输入或输出的环形缓冲区。(一般是专用)缓冲池(bufferpool):由多个缓冲区构成,既可用于输入也可用于输出,多个进程共享,可用于多种设备。(通用,利用率高),(a)单缓冲;(b)双缓冲;(c)循环缓冲,双缓冲工作流程示意图,设备分配用数据结构,以下数据结构用来记录设备或部件的标识状态等信息:,系统设备表SDT:每个系统设备占一表目设备控制表DCT:每个设备一张控制器控制表COCT:每个控制器一张通道控制表CHCT:每个通道一张,设备分配数据结构及其关系图,设备分配算法,设备分配流程图,分配过程:如下所示,设备分配原则,与设备分配有关的设备属性:独享设备:打印机等;共享设备:磁盘、网卡等;虚拟设备。设备分配方式:静态分配:在进程分创建时分配,在进程退出时释放;优缺点:不会出现死锁;设备利用率不高;动态分配:在进程执行过程中根据需要分配,使用结束后释放;优缺点:需要考虑死锁问题有利于提高设备利用率,设备分配的原则:合理使用外设(公平和避免死锁),提高设备利用率。,设备分配策略,设备分配策略:针对特定的设备采用特定的分配策略。先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;,设备驱动程序,设备驱动程序驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序的集合。负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。,补充假脱机技术,引入:在多道批处理系统中,专门利用一道或几道程序来完成对设备的I/O操作。无需使用外围I/O处理机。,利用假脱机技术(SPOOLing,SimultaneousPeripheralOperationOnLine,也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。,虚拟分配,1.什么是虚拟技术所谓虚拟技术,是在一类物理设备(如外存)上模拟另一类物理设备(如打印机)的技术,是将独占设备转化为共享设备的技术。2.什么是虚拟设备通常把用来代替独占设备的那部分外存空间(包括有关的控制表格)称为虚拟设备。3.虚拟分配当进程需要与独占型设备交换信息时,系统将分配磁盘空间,并建立相应的数据结构,这种分配方法称为设备的虚拟分配。,链接,61,例:共享打印机,共享打印机技术已被广泛地用于多用户系统和局域网络中。当用户进程请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该用户进程,而只为它做两件事:由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。,62,SPOOLing系统的特点,1)提高了I/O的速度2)将独占设备改造为共享设备3)实现了虚拟设备功能,磁盘设备管理,CPU和内存的访问速度比磁盘要快若干个数量级,磁盘系统的性能对整个系统的性能有重要影响。磁盘设备管理的目标:就是提高磁盘系统的性能,?从哪些方面可以提高磁盘系统的性能,磁盘的调度算法,数据的合理组织,一磁盘的调度算法减少设备机械运动所带来的时间浪费当多个访盘请求在等待时,采用一定的策略,对这些请求的服务顺序调整安排,降低平均磁盘服务时间,达到高效公平。,1认识磁盘直接(随机)存取设备存取磁盘上任一物理块的时间不依赖物理块所处的位置,67,磁盘是将若干个涂有铁磁的圆形金属或塑料片组合在一起构成的盘组,每个圆盘有上下两个盘面每个盘面有一个读写磁头,读写磁盘时,磁头通过存取臂在盘面上移动,而盘体绕中心轴高速旋转.,68,盘组旋转一周,磁头在盘面上的移动轨迹称为磁道(一个圆),各个盘面上半径相同的磁道合起来构成一个柱面一个磁道又被分成许多扇区,一般每条磁道上扇区数目在8至32之间,每个扇区的字节数相同(一般为512),磁道,扇区,格式化,格式化,1、划分磁道和扇区。2、建立目录区和文件分配表。(0磁道0柱面,1扇区)3、检查整个磁盘上有无带缺陷的磁道,并对其加注标记,避免被使用,柱面,扇区,磁臂,磁头,盘面中处于同一磁道号上的所有磁道组成一个柱面,物理地址形式:磁头号(盘面号)磁道号(柱面号)扇区号,磁盘系统由磁盘本身和驱动控制设备组成,实际存取读写的动作过程是由磁盘驱动控制设备按照主机要求完成的。一次访盘请求:读/写,磁盘地址(设备号,柱面号,磁头号,扇区号),内存地址(源/目),2磁盘I/O访问时间的组成,柱面定位时间:磁头移动到指定柱面的机械运动时间;旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关。数据传送时间:从指定扇区读写数据的时间。,返回,一次访盘时间=定位时间+延迟时间+存取时间磁盘调度考虑的问题:减少柱面定位时间减少旋转延迟时间Os:减少设备机械运动所带来的时间浪费,3磁盘的驱动调度定位时间和延迟时间尽可能小驱动调度有“移臂调度”和“旋转调度”两部分组成。柱面定位时间在访问时间中占主要部分。,A移臂调度来自不同进程的磁盘I/O请求构成一个随机分布的请求队列。磁盘I/O调度的主要目标减少寻找柱面的时间,使得平均柱面定位时间缩短常用的移臂调度算法有:先来先服务算法最短寻找时间优先算法电梯调度算法,78,(1)先进先出(FCFS)先来先服务:按访问请求到达的先后次序服务。假设磁头初始位置是100,磁盘访问请求柱面序列:55、58、39、18、90、160、150、38、184磁头移动总距离(道数):45+3+19+21+72+70+10+112+146=498平均寻道长度:498/9=55.33,由于柱面定位时间在访问时间中占主要部分,合理组成磁盘数据的存储位置可提高磁盘I/O性能。例子:读一个128KB大小的文件:(1)文件由8个连续磁道(每个磁道32个扇区)上的256个扇区构成:20ms+(8.3ms+16.7ms)*8=220ms;其中,柱面定位时间为20ms,旋转延迟时间为8.3ms,一个磁道上32个扇区数据传送时间为16.7ms;(2)文件由256个随机分布的扇区构成:(20ms+8.3ms+0.5ms)*256=7373ms;其中,1扇区数据传送时间为0.5ms;随机分布时的访问时间为连续分布时的33.5倍。,磁盘数据的存储位置对磁盘I/O性能的影响,先来先服务优点:简单,公平;缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利,(2)最短查找时间优先算法(SSTF,ShortestServiceTimeFirst)考虑磁盘I/O请求队列中各请求的柱面位置,选择从当前磁头位置出发,移动臂移动距离最短的磁盘I/O请求。,请求柱面序列:55、58、39、18、90、160、150、38、184,调度顺序:90、58、55、39、38、18、150、160、184,最短查找时间优先(SSTF,ShortestServiceTimeFirst)算法:考虑磁盘I/O请求队列中各请求的柱面位置,选择从当前磁头位置出发,移动臂移动距离最短的磁盘I/O请求。该算法的目标是使每次磁头移动时间最少。它不一定是最短平均柱面定位时间,但比FIFO算法有更好的性能。可能会有进程处于饥饿状态。扫描(SCAN)算法:选择在磁头前进方向上从当前位置移动距离最短的磁盘I/O请求执行,没有前进方向上的请求时才改变方向。(也叫电梯调度算法)该算法是对SSTF算法的改进,磁盘I/O较好,且没有进程会饿死。,磁头移动总距离(道数):10+32+3+16+1+20+132+10+24=248平均寻道长度:248/9=27.55优点:改善了磁盘平均服务时间缺点:可能造成某些访问请求长期等待得不到服务,可能会有进程处于饥饿状态,调度顺序:90、58、55、39、38、18、150、160、184,(3)扫描算法(SCAN)(电梯算法)既考虑了距离,同时又考虑了方向具体做法:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复,请求柱面序列:55、58、39、18、90、160、150、38、184顺序:150、160、184、90、58、55、39、38、18(假设原方向是磁道递增方向),磁头移动总距离(道数):50+10+24+94+32+3+16+1+20=250平均寻道长度:250/9=27.78优点:电梯调度算法是一种简单、实用且高效的调度算法。缺点:在实现时除了要记住读写磁头的当前位置外,还必须记住移动臂的移动方向。,顺序:150、160、184、90、58、55、39、38、18,调度算法比较:1.FCFS磁头移动总距离:498平均寻道长度:55.332.SSTF磁头移动总距离:248平均寻道长度:27.553.SCAN磁头移动总距离:250平均寻道长度:27.78,调度算法的选择实际系统普遍采用最短寻道时间算法。因为它简单有效,性价比好。扫描算法更适用于磁盘负担重的系统磁盘负担轻的系统也可以须用先来先服务算法,B旋转调度算法旋转调度:根据延迟时间来决定执行次序的调度分析:若干等待访问者请求访问同一磁道上的不同扇区若干等待访问者请求访问不同磁道上的不同编号的扇区若干等待访问者请求访问不同磁道上具有相同的扇区,例如,有4个访问5号柱面的请求访问者,它们的访问要求如下表所示。,请求顺序柱面号磁头号扇区号541515545528对它们进行旋转调度后,它们的执行次序可能是,,二数据的合理组织,记录在磁道上的排列方式也会影响输入输出操作的时间信息的优化分布,例:处理程序要求顺序处理8个记录;磁盘旋转一周为20毫秒/周;花5毫秒对记录进行处理。(20/8=2.5ms),为了顺序处理第2条记录,必须等待磁盘把第2条记录旋转到读写磁头位置下面,即要有15毫秒的延迟时间。于是,处理这8条记录所要花费的时间为:8*(25十5)十7*15=165(ms)。,优化分布,处理这8个记录所要花费的时间为:8*(2.5+5)=60(ms)优点:减少延迟时间,从而缩短了输入输出操作的时间。,磁盘设备管理的目标:提高磁盘系统的性能磁盘的调度算法:FCFSSSTFSCAN数据的合理组织:优化分布,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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