资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,CH5 设备管理,设备治理治理的是计算机系统的重要资源,用户无权直接使用。,设备治理的一个重要任务:是依据确定的算法在各进程间调度和安排设备。,另外,设备治理还要依据用户要求启动具体设备,完成数据传输操作,并且处理设备的中断。,还有,如何利用虚拟技术使独享设备“变为”共享设备,使一台物理设备“变为”多台规律设备。,5.1 设备治理概述,一、设备治理的分类,1. 按附属关系分类,系统设备:指在操作系统生成时已经登记在系统中的标准设备。如键盘、显示器、打印机等。,用户设备:指操作系统生成时未登记入系统的非标准设备。如鼠标、绘图仪、扫描仪等。,2. 按传输速率分类,低速、中速、高速设备指传输速率,3. 按使用特性分类,存储设备、I/O设备,1独占设备:,指在一段时间内只允许一个用户进程访问的设备,大多数低速的I/O设备。如用户终端、打印机等属于这类设备。由于独占设备属于临界资源,所以多个并发进程必需互斥地访问独占设备。,4. 按设备共享属性分类 *,2共享设备:,指在一段时间内允很多个进程同时访问的设备。,明显,共享设备必需是可寻址的和可随机访问的设备,典型的共享设备是磁盘。,3虚拟设备:,指通过虚拟技术将一台独占设备变换为假设干台供多个用户进程共享的规律设备。一般可以利用假脱机SPOOLing技术实现虚拟设备。,二、设备治理的功能,1设备安排和回收。依据设备类型和相应的安排算法准备将I/O设备安排给哪一要求使用该设备的进程。凡未安排到所需设备的进程被放入一个等待队列。,2设备处理。设备处理程序实现CPU和设备把握器之间的通信。即当CPU向设备把握器发出I/O指令时,设备处理程序应启动设备进展I/O操作,并能对设备发来的中断恳求作出准时的响应和处理。,3实现其他功能。,包括对缓冲区的治理功能及实现设备独立性。,三、设备治理的目标,1提高设备的利用率。,应尽量提高CPU与I/O设备之间的并行操作程度,主要利用的技术有:中断技术、DMA技术、通道技术和缓冲技术。,2为用户供给便利、统一的界面。,所谓便利,是指用户能独立于具体设备的简洁物理特性之外而便利使用设备。所谓统一,是指对不同的设备尽量使用统一的操作方式,例如各种字符设备用一种I/O操作方式。这就要求用户操作的是简便的规律设备,而具体的I/O物理设备有操作系统去实现,这种性能常常被称为设备的独立性。,5.2 设备I/O方式,1、询问Query:询问方式又称程序直接把握方式,在这种方式下,输入输出指令或询问指令测试一台设备的忙闲标志位,准备主存储器和外围设备是否交换一个字符或一个字。实时系统中必需承受,在一般简洁系统中也广泛承受,但系统开销较大。 CPU和I/O设备串行工作,每次进展输入输出工作,都需要由主机CPU干预;,2、中断interrupt:CPU启动I/O设备后,不必查询I/O设备是否就绪,连续执行现行程序,直到在启动指令后的某条指令,响应了I/O中断恳求,CPU才转至I/O中断处理程序执行。中断工作主要由中断恳求、中断响应和中断效劳处理组成。“中断”的产生使治理工作更能“自动化”。 I/O操作直接由CPU把握,每传送一个字符或字,要发生一次中断,照旧消耗大量CPU时间。,医生查房“询问”,以便准时把握病情。病床旁红灯是紧急恳求医生的按钮“中断恳求”。常规医疗处理医生托付护士“硬通道”去做。但护士只有执行权而无修改权。,4、通道Channel:又称输入输出处理器。完成主存和外设之间的信息传送,与CPU并行工作,解决了输入输出操作的独立性和各部件工作的并行性。当输入输出操作完成,通道发出操作完毕中断时,CPU才停顿当前工作,转向处理输入输出操作完毕大事。,3、DMA(Direct Memory Access):,直接存储器存取方式。主存和I/O设备之间有一条数据通路,I/O设备能直接与主存交换数据而不占用CPU,实际操作直接由DMA完成。 CPU的利用率进一步提高。,DMA方式与中断方式比较,(1)中断方式下, CPU需要执行多条指令,占用确定的时间;而DMA传送1个字节只占用CPU的1个总线周期,占用CPU的时间少。,(2)DMA的响应速度比中断快。IO设备发出中断恳求后,CPU要执行完当前指令后才赐予响应,而DMA恳求是在总线周期执行完后即可响应。,(3)对于快速的IO设备,中断方式,其传输速度已无法满足要求。必需承受DMA方式来完成快速IO设备的数据传送的操作。,通道技术,1.通道的定义:,通道Channel是独立于CPU的特地负责数据输入/输出传输工作的处理机,对外部设备实现统一治理,代替CPU对输入/输出操作进展把握,从而使输入,输出操作可与CPU并行操作。,2.引入通道的目的,为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作力气。主要目的是启动外设时:a.提高了把握器效率 b.提高牢靠性 c.提高并行度。,附.设备把握器: I/O设备通常包含一个机械部件和一个电子部件,电子部件称为设备把握器或适配器,在PC中它通常是一块插入主板扩大槽的印刷电路板。,4.通道工作原理,通道相当于一个功能简洁的处理机,包含通道指令空操作,读操作,写操作,把握,转移操作,并可执行用这些指令编写的通道程序。 P397,3.通道的功能:执行通道程序,向把握器发出命令,并具有向CPU发中断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个把握器,一个把握器可连接多个设备,形成树形穿插连接,设备驱动程序,设备驱动程序包括与设备相关的代码,它的工作是:,把用户提交的规律I/O恳求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、规律记录转化为物理记录、规律操作转化为物理操作等。,设备驱动程序从与设备无关的软件中接收抽象的I/O恳求,并执行之。假设恳求到来时驱动程序空闲,则立刻执行。假设它正在处理另一条恳求,它将该恳求挂在等待队列中。,设备的翻开、关闭、读、写等操作是由设备驱动程序完成的。,5.3 缓冲技术,一、缓冲技术的根本思想:,缓冲技术好比水库,在CPU和外设之间设立缓冲区,用以暂存CPU和外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的冲突。,但凡数据到达和离去速度不匹配的地方均可承受缓冲技术。在操作系统中承受缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的冲突,提高资源利用率。,1改善CPU与I/O设备间速度不匹配的冲突,例如,通常的程序都是时而时而输出。假设没有缓冲,则程序在输出数据时,必定会由于打印机的速度跟不上CPU,而使得CPU长时间地等待。,在计算阶段,打印机又空闲无事。,在打印机或把握区中设置一缓冲区,用来快速暂存程序输出的数据,以后再由打印机渐渐的从中取出数据打印。,这样就实现了CPU与I/O设备之间的并行工作。,(2)削减对CPU的中断频率,放宽对中断响应时间的限制,假设I/O操作每传送1B就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就削减到1/n,而且中断响应的时间也可以相应地放宽。,(3)提高CPU和I/O设备之间的并行性,缓冲的引入可显著提高CPU和设备的并行操作程度,提高系统的吞吐量和设备的利用率。,二、缓冲技术的分类,1、单缓冲,单缓冲是操作系统供给的最简洁的一种缓冲形式。每当一个进程发出一个I/O恳求时,操作系统便在主存中为之安排一缓冲区,该缓冲区用降落时存放输入/输出数据。,2、双缓冲,在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区buffer1和buffer2。该方式能进一步提高CPU和外设的并行程度,并能使输入设备和输出设备并行工作,但是在实际系统中很少承受这一方式。,3、多缓冲,又称环形缓冲,环形缓冲技术是在主存中安排一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲区的指针,最终一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。此外,系统中有个缓冲区链首指针指向第一个缓冲区。,4、缓冲池,从自由主存中安排一组缓冲区即可构成缓冲池。缓冲池中的缓冲区一般有以下三种类型:空闲缓冲区、装输入数据的缓冲区和装输出数据的缓冲区。,5.4 驱动调度技术,作为辅存,磁盘是一类大容量高速旋转的存储设备,在繁重的输入输出负载下,同时会有假设干个输入输出恳求来到并等待处理,系统必需承受一种调度策略,使能按最正确次序执行要访问的诸恳求,这就叫驱动调度。,驱动调度能削减为假设干输入输出恳求效劳所需的总时间,从而提高系统效率。,一、驱动调度,二、磁盘设备治理,1、磁盘构造,一般:硬盘、软盘、单片盘和多片盘固定头磁盘、移动头磁盘固定头磁盘:是指盘面上的每一条磁道都有一个读写头,固定头磁盘由于本钱较高而较少使用。,移动头磁盘:是指每个盘面只有一个读/写磁头,每执行一次盘的操作都须先移动磁头,使其对准所要找的磁道,这称为查找操作。,通常在计算机系统中所说的磁盘,是由假设干片盘所组成的磁盘迭,各盘片均安装在一个高速旋转的枢轴。读写头安装在移动臂上,移动臂可沿盘半径方向移动。,磁盘构造示意图,轴,盘片组,移动,臂,读写,磁头,磁道,柱面,2、磁盘物理记录访问需要的三个参数,1柱面号,随着臂的移动,各盘面全部的读写头同时移动,并定位在同样的垂直位置的磁道上,这些磁道形成了一个柱面。通常由外向里给各柱面依次编以挨次号,0,1,2,。,2磁头号,将一个磁盘迭的全部有效盘面从上至下依次编以挨次号,0,1,2,称为磁头号,因此盘面号与磁头号是相对的。,3扇区号块号,将各磁道分成假设干个大小相等的扇区,并编以序号0,1,2,。,3、扇区是磁盘存储和传送信息的根本单位,要在磁盘上访问一个扇区,必需给出其柱面号、磁头号和扇区号,这样才能准确地定位要访问的扇区,这称为扇区的物理地址,即物理扇区号。由物理扇区号表示的扇区称为确定扇区。为了便利,操作系统通常将其转变为规律扇区号加以治理。,编址方式为:在磁道上按扇区号增加,在柱面上按磁道号增加,对整个磁道从柱面0到最终一个柱面增加。,例如,每磁道扇区数为S,每个柱面的磁道数为T,那么可将柱面号为i,磁头号为j,扇区号为k的物理扇区转换为规律扇区号为:b=k+S*(T*i+j)。,4. 磁盘类型,1) 固定头磁盘,这种磁盘在每条磁道上都有一读/写磁头,全部的磁头都被装在一刚性磁臂中。通过这些磁头可访问全部各磁道,并进展并行读/写,有效地提高了磁盘的I/O速度。 这种构造的磁盘主要用于大容量磁盘上。,2) 移动头磁盘,每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的全部磁道,该磁头必需能移动以进展寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其构造简洁, 故仍广泛应用于中小型磁盘设备中。,5.,磁盘访问,1) 寻道时间Ts,这是指把磁臂(磁头)移动到指定磁道上所经受的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即,Ts=mn+s,寻道时间将随寻道距离的增加而增大, 大体上是530 ms。,2) 旋转延迟时间T,这是指定扇区移动到磁头下面所经受的时间。对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms,平均旋转延迟时间T为5.55 ms;,3) 传输时间Tt,这是指把数据从磁盘读出或向磁盘写入数据所经受的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关:,其中,,r,为磁盘每秒钟的转数;,N,为一条磁道上的字节数,,6、磁盘引臂调度,1、“先来先效劳”算法-FCFS,依据恳求访问者到来的先后挨次为恳求访问者效劳,该算法简洁,但由于移臂来回移动,增加了执行信息传输操作的时间。,2、“最短查找时间优先”算法-SSTF本算法考虑了各个恳求之间的区分,总是先执行查找时间最短的那个磁盘恳求,从而,较“先来先效劳”算法有较好的寻道性能。,SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。由于只要不断有新进程的恳求到达, 且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O恳求必需优先满足。,3、SCAN算法,也称电梯调度算法,磁盘臂每次沿一个方向移动,扫过全部柱面,遇到最近的I/O恳求便进展处理,直到最终一个柱面后,再向相反方向移动回来。,磁头双向移动,4. 循环扫描(CSCAN)算法,磁盘臂每次沿一个方向移动,扫过全部柱面,遇到最近的I/O恳求便进展处理,直到最终一个柱面后,磁头立刻返回到最里的欲访问磁道,亦立刻最小磁道号紧接着最大磁道号构成循环,进展循环扫描。,磁头单向移动,5. N-Step-SCAN和FSCAN调度算法,1) N-Step-SCAN算法,在SSTF、 SCAN及CSCAN几种调度算法中, 都可能消逝磁臂停留在某处不动的状况, 例如,有一个或几个进程对某一磁道有较高的访问频率, 即这个(些)进程反复恳求对某一磁道的I/O操作,从而垄断了整个磁盘设备。 我们把这一现象称为“磁臂粘着”(Armstickiness)。在高密度磁盘上简洁消逝此状况。 N步SCAN算法是将磁盘恳求队列分成假设干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。 而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。 当正在处理某子队列时,假设又消逝新的磁盘I/O恳求,便将新恳求进程放入其他队列,这样就可避开消逝粘着现象。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能; 当N=1时, N步SCAN算法便蜕化为FCFS算法。,2) FSCAN算法,FSCAN算法实质上是N步SCAN算法的简化, 即FSCAN只将磁盘恳求队列分成两个子队列。一个是由当前全部恳求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进展处理。在扫描期间,将新消逝的全部恳求磁盘I/O的进程, 放入另一个等待处理的恳求队列。这样,全部的新恳求都将被推迟到下一次扫描时处理。,5. N-Step-SCAN和FSCAN调度算法,5.5 设备安排P186,通常用户不指定特定的设备,而指定规律设备,使得用户作业和物理设备独立开来,再通过其它途径建立规律设备和物理设备之间的对应关系,称这种特性为“设备独立性”。,用户与物理的外围设备无关,系统增减或变更外围设备时程序不必修改;易于应付输入输出设备的故障。,一、设备独立性,独占设备指在一段时间内只允许一个用户进程访问的设备,大多数低速的I/O设备。如用户终端、打印机等属于这类设备。由于独占设备属于临界资源,所以多个并发进程必需互斥地访问独占设备。,一般承受静态安排方式,能防止死锁,但会降低设备的利用率。,二、设备安排,2共享设备的安排:,共享设备指在一段时间内允很多个进程同时访问的设备。明显,共享设备必需是可寻址的和可随机访问的设备,典型的共享设备是磁盘。,一般不必进展安排或承受静态安排方式降低存储空间的利用率。,1独占设备的安排:,设备类表和设备表,为了有效实现设备地安排,系统中设有设备安排的数据构造:设备类表和设备表。,设备类表:系统中有一张设备类表,每类设备对应于设备类表中的一栏,通常包括以下内容:设备类、总台数、空闲台数和设备起始地址等。,设备表:每类设备都有各自的设备表,用来登记这类设备中每台设备的状态,通常包括以下内容:物理设备名、规律设备名、占有设备的进程号、已安排/未安排、好/坏等。,依据设备安排的数据构造,即设备类表和设备表中的信息,就可以设计出I/O设备的安排/去配流程,实现设备安排。,5.6 虚拟设备P189,早期的计算机只能由一个用户独占,后来,随着分时系统的消逝,允许由多个用户共享一台主机。,类似的,一台只允许一个用户使用的独享设备能否通过某种技术把它改造成由多个用户共享的设备呢?,承受联机同时外围设备操作(又称作假脱机操作),使得每个作业感到各自拥有独占使用的设备假设干台。,通过虚拟技术将一台独占设备变换为假设干台供多个用户进程共享的规律设备。Spooling技术就是将一台独享设备改造成共享设备比较有效的虚拟技术。,一、SPOOLing系统,全名是(SPOOLing, Simultaneous Peripheral Operation On Line,联机同时外围操作,也称为虚拟设备技术),是关于慢速字符设备如何与计算机主机交换信息的一种技术。也叫:假脱机技术。,定义:spooling系统是OS中承受的一项可以把独享设备转变成具有共享特征的虚拟设备的技术,从而提高设备利用率。,脱机输入输出技术,为了解决人机冲突及CPU和I/O设备间速度不匹配的冲突,20世纪50年月末消逝了该技术。,事先将装有用户程序和数据的纸带(卡片)装入纸带输入机,在一台外围机的把握下把纸带上的数据(程序)输入到磁带上。当CPU需要这些数据时再从磁带上高速的调入内存。,类似的,当CPU需要输出时可由CPU直接高速的把数据从内存送到磁带上,然后再在另一台外围机的把握下,将磁带上的结果通过相应的输出设备输出。,输入设备,外围机,磁盘,磁盘,磁盘,外围机,主机,磁盘,输出设备,由于程序和数据的输入和输出都是在外围机的把握下完成的,或者说他们是在脱离主机的状况下进展的,所以称为脱机输入输出方式。,脱机I/O示意图,SPOOLing系统的组成,1输入井和输出井:,这是在磁盘上开拓出来的两个存储区域。,输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。,输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。,2输入缓冲区和输出缓冲区:,这是在内存中开拓的两个缓冲取区。,输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。,斯普林系统示意图,输入进程,SP,i,输入进程,SP,o,输入缓冲区,B,i,输出缓冲区,B,o,输入井,输出井,磁盘,输入设备,输出设备,3输入进程和输出进程:,输入进程模拟脱机输入时的外围把握机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读如内存。输出进程模拟脱机输出时的外围把握机,把用户要求输出的数据,先从内存送到输入井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。,实现Spooling系统要设计的程序及功能,Spooling系统由三局部程序组成,即:预输入程序、井治理程序、缓输出程序。,在作业执行前,操作系统已将作业信息通过独占设备预先输入到帮助存储器上存放,称为预输入,此后,作业执行使用数据时不必再启动独占设备输入,而只要从帮助存储器上输入。,作业执行中也不必直接启动独占设备输出数据,而只要将输出数据写入帮助存储器。由操作系统来组织信息的输出,称为缓输出。,井治理程序则实现输入井读和输出井写。,共享打印机,共享打印机是SPOOLing技术的典型实例。,打印机属于独享设备,当用户进程恳求打印输出时,Spooling系统同意打印输出,但并不真正把打印机安排给该用户进程。,用户恳求打印后:,1.将打印数据输出到输出井申请的空闲盘块中。,2.将打印恳求登记后,排到打印队列。假设还有进程要求打印输出,系统仍可以承受该恳求,同样做上面的工作。,3.打印机空闲时,首取第一张恳求表,将数据从输出井传送到内存缓冲区,进展打印。如此下去,直至恳求队列为空位置,输出进程才将自己堵塞起来,等待下次再由打印恳求时才被唤醒。,SPOOLing系统的特点,提高了,I/O,的速度。,(2),将独占设备改造为共享设备。,(3),实现了虚拟设备功能。,CH5、设备治理 习题,1在下面的I/O把握方式中,需要CPU干预最少的方式是。,A程序I/O方式B中断驱动I/O把握方式,C直接存储器访问DMA把握方式DI/O通道把握方式,2某操作系统中,承受中断驱动I/O把握方式,设中断时,CPU用1ms来处理中断恳求,其它时间CPU完全用来计算,假设系统时钟中断频率为100HZ ,则,CPU的利用率为 。,A60% B70% C80% D90%,3以下哪一条不是磁盘设备的特点 。,A传输速率较高,以数据块为传输单位,B一段时间内只允许一个用户进程访问,CI/O把握方式常承受DMA方式,D可以寻址,随机地读/写任意数据块,4利用通道实现了 之间数据的快速传输。,ACPU和外设B内存和CPU,C内存和外设D外设和外设,5假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的局部是指 。,A共享设备B独占设备C虚拟设备D物理设备,6设从磁盘将一块数据传送到缓冲区所用时间为80s,将缓冲区中数据传送到用户区所用时间为40s,CPU处理数据所用时间为30s,则处理该数据,承受单缓冲传送某磁盘数据,系统所用总时间为 。,A120s B110s C150s D70s,7以下关于通道、设备、设备把握器三者之间的关系表达中正确的选项是 。,A设备把握器和通道可以分别把握设备,B设备把握器把握通道和设备一起工作,C通道把握设备把握器,设备把握器把握设备,D设备把握器把握通道,通道把握设备,8以下哪一个选项不是引入缓冲的缘由 。,A缓和CPU和I/O设备间速度不匹配的冲突,B削减对CPU的中断频率,放宽对中断响应时间的限制,C削减CPU对I/O把握的干预,D提高CPU和I/O设备之间的并行性,9在操作系统中,以下选项不属于软件机制的是 。,A缓冲池 B通道技术,C掩盖技术 DSpooling技术,10.从资源设备安排的角度来看,哪项不属于设备类型 。,A独享设备 B.系统设备 C.共享设备 D虚拟设备,11.CPU对通道的恳求形式是。,A自陷 B中断C I/O指令 D跳转指令,12通道对CPU的恳求形式是 。,A自陷 B中断C通道命令 D跳转指令,13以下不属于“通道”特征的是 _。,A负责数据输入输出工作 B可以与CPU并行工作,C一个通道可连接多个把握器 D是一种软件,14以下有关设备的表达中不正确的选项是_。,A缓冲区的引入,使得CPU和外设之间速度的不匹配现象得到了缓解,B打印机通过SPOOLING技术改造后,可以成为供多个用户同时使用的虚拟设备,C通道程序是由发出IO设备恳求的用户编制的,所以,该用户必需指出通道程序在内存的存放位置,D缓冲区是外设在进展数据传输期间特地用来暂存这些数据的主存区域,推断题,1、磁盘是一种直接存取存储设备,又叫随机存取存储设备,它的每个物理记录有确定的位置和地址。,2、磁盘上的文件以物理快为单位进展读写。,3、磁头位置下的全部磁道组成的圆柱体称为柱面。,计算题:某磁盘的进程访问磁道的序列为55、58、39、18、90、160、150、38、184;当前磁头的位置在100号磁道,由48磁道而来;求最短寻道时间优先算法和电梯算法的平均寻道长度。,SSTF算法:存取臂移动挨次为90,58,55,39,38,18,150,160,184,平均寻道长度:10+32+3+16+1+20+132+10+24/9,=248/9=27.6道;,SCAN算法:存取臂移动挨次为150,164,184,90,58,55,39,38,18,平均寻道长度:50+14+20+94+32+3+16+1+2/9,=250/9=27.8道。,
展开阅读全文