计算机操作系统(第三版)5设备管理.ppt

上传人:牧羊曲112 文档编号:6432851 上传时间:2023-10-30 格式:PPT 页数:111 大小:939KB
返回 下载 相关 举报
计算机操作系统(第三版)5设备管理.ppt_第1页
第1页 / 共111页
计算机操作系统(第三版)5设备管理.ppt_第2页
第2页 / 共111页
计算机操作系统(第三版)5设备管理.ppt_第3页
第3页 / 共111页
计算机操作系统(第三版)5设备管理.ppt_第4页
第4页 / 共111页
计算机操作系统(第三版)5设备管理.ppt_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《计算机操作系统(第三版)5设备管理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统(第三版)5设备管理.ppt(111页珍藏版)》请在三一办公上搜索。

1、第五章 设备管理,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理,教学目的:了解设备管理的主要功能、模型了解I/O子系统的组成、结构了解设备的控制、I/O控制了解设备的类型了解设备分配掌握I/O缓冲技术掌握虚拟设备与SPOOLing系统掌握磁盘设备的管理 重点难点:掌握虚拟设备与SPOOLing系统所采用的技术掌握磁盘设备的管理方式,课前引入:设备管理概述,设备管理的主要功能:设备分配设备映射设备驱动I/O缓冲区的管理,设备分配,多道程序系统中的设备不允许用户直接使用,而是由操作系统统一调度和控制。设备分配功能是设备管理

2、的基本任务。设备分配程序按照一定的策略,为申请设备的用户进程分配设备,记录设备的使用情况。,设备映射,为了提高应用软件对运行平台的适应能力,方便实现应用软件I/O重定向,大多数现代操作系统均支持应用软件对设备的无关性,即通常所说的设备无关性,或者设备独立性设备无关性:应用软件所引用的、用于实现I/O操作的设备与物理I/O系统中实际安装的设备没有固定的联系,设备映射,逻辑设备和物理设备逻辑设备是指应用软件所引用的用于实现I/O操作的设备。物理设备则指,物理I/O系统中实际安装的设备。从应用软件的角度看,逻辑设备是一类物理设备的抽象。从操作系统设备管理程序的角度看,物理设备则是某种逻辑设备的实例。

3、,设备映射,如果某系统支持设备无关性,那么该系统中应用软件所引用的逻辑设备与实际安装的物理设备没有固定的联系。事实上,在应用软件运行期间,操作系统的设备管理程序必须将该应用软件对逻辑设备的引用转换成对相关物理设备的引用。设备管理的这种功能称为逻辑设备到物理设备的映射功能,简称设备映射功能。,设备驱动,又称设备处理,指对物理设备进行控制,以实现真正的I/O操作。设备驱动的主要任务是:接收上层软件发来的抽象服务请求,例如读/写命令,再把它转换为具体要求,通过一系列的I/O指令,控制设备完成请求的操作;同时,设备驱动程序还将设备发来的有关信号传送给上层软件,例如设备是否已损坏等。,设备驱动,设备驱动

4、程序与硬件密切相关,应为每一类设备配置一种驱动程序。设备驱动程序一般由设备开发厂商根据操作系统的要求组织编写,操作系统仅对与设备驱动的接口提出要求,一般不负责具体设备驱动程序的编写。有时候,某些硬件无法在某种操作系统中使用,原因很可能就是没有专门的或通用的设备驱动程序,或者设备驱动程序设计有问题,使得设备无法正常工作。,I/O缓冲区的管理,为了缓和处理面与外部设备间速度不匹配的矛盾,提高处理机和外部设备间的并行性,现代操作系统大都在设备管理部分引入了缓冲技术。通常,缓冲区是指内存中的若干区域,用于缓存进程与外部设备间的数据传输。又称为I/O缓冲区。I/O缓冲区管理的任务是:组织I/O缓冲区,并

5、为使用者提供获得和释放I/O缓冲区的手段。,处理机,内存,I/O设备,I/O设备,I/O设备,I/O设备,I/O设备,系统总线,5.1 I/O 系统,不同类型I/O子系统的结构图,总线型I/O系统的结构,通道型I/O系统结构,处理机,内存,I/O设备,系统总线,I/O通道,I/O通道,I/O通道,I/O设备,I/O设备,I/O设备,I/O设备,I/O设备,不同类型I/O子系统的结构图,不同类型I/O子系统的结构图,具有控制器的I/O系统,5.1.1 I/O设备,1、I/O设备的类型,1)按传输速率分类(分三类)低速设备:指传输速率仅为每秒钟几个字节至数百个字节的一类设备。如:键盘、鼠标器、语音

6、的输入和输出等设备。中速设备:指传输速率在每秒钟数千个字节至数万个字节的一类设备。如:行式打印机、激光打印机等。高速设备:指其传输速率在数百K个字节至数十兆字节的一类设备。如:磁带机、磁盘机、光盘机等。,2)按信息交换的单位分类(分两类)块设备(Block Device):用于存储信息。I/O传输的单位是块。它属于有结构设备。典型的块设备是磁盘。基本特征:传输速率较高;可随机访问任一块;DMA方式驱动。字符设备(Character Device):用于数据的输入和输出。I/O传输的单位是字节。如打印机。基本特征:传输速率较低;不可寻址;中断驱动。,3)按设备的共享属性分类(分三类)独占设备:在

7、任一段时间内最多有一个进程占用它,字符设备及磁带机属独占型设备。即临界资源。共享设备:多个进程对它的访问可以交叉进行,除磁带机外的块设备属共享设备。虚拟设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备。,2.设备与控制器之间的接口,设备与控制器间的接口,设备通过设备控制器间接与CPU进行通信,在设备与设备控制器之间有一接口,传递三类信号:对应三条信号线。,不同类型I/O子系统的结构图,具有控制器的I/O系统,5.1.2 设备控制器,设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间

8、的数据传输。,I/O设备通常包含一个机械部件和一个电子部件。电子部件被称作I/O部件或设备控制器。,早期CPU是直接控制外部设备的,在引入I/O部件之后,I/O指令功能加强,才将CPU逐渐从与外设的交互细节中解放出来。,操作系统一般只与控制器打交道,而非设备本身。,PCI总线控制器,处理机,内存,显卡,外设,光盘,磁盘,IDE总线控制器,外设控制器,控制器,控制器,连接CPU、内存、设备控制器和I/O设备模型,控制器的任务是在外部设备与CPU(或内存)之间完成比特流(外部信号)和字节流(块)之间的转换。,字符显示控制器,主存经CPU,显示信号,字节流,转换,1.设备控制器的基本功能,接收和识别

9、命令来自CPU的命令进行数据交换收集设备状态并向CPU报告地址识别数据缓冲 差错,2.设备控制器的组成,1)控制器与处理机的接口2)控制器与设备的接口3)I/O逻辑,由三部分组成:,设备控制器的组成,5.1.3 I/O通道,1.I/O通道(I/O Channel)设备的引入,定义:通道是独立于CPU的专门负责数据I/O传输工作的特殊的处理机,对外部设备实现统一管理,代替CPU对I/O操作进行控制,从而使I、O操作可与CPU并行操作。引入通道的目的:为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作能力。通过执行通道程序来控制I/O操作。指令类型单一,只能执行

10、与I/O操作有关的命令。通道没有自己的内存,与CPU共享内存。,不同类型I/O子系统的结构图,具有控制器的I/O系统,2.通道类型,1)字节多路通道(Byte Multiplexor Channel),字节多路通道以字节为单位传输信息,它可以分时地共享主通道。以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节。主要连接以字节为单位的低速I/O设备。如打印机、终端。,字节多路通道的工作原理,控制器,A,控制器,B,控制器,C,控制器,D,控制器,N,A,1,A,2,A,3,子通道,A,B,1,B,2,B,3,子通道,B,C,1,C,2,C,3,子通道,C,N,1,N,2,N,3

11、,子通道,N,A,1,B,1,C,1,A,2,B,2,C,2,设备,2)数组选择通道(Block Selector Channel),字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。可见,这种通道的利用率很低。,3)数组多路通道(Bloc

12、k Multiplexor Channel)数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。它含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。,3.“瓶颈”问题,单通路I/O系统,通道数量少,造成整个系统吞吐量下降。例如:,多通路I/O系统,解决问题的方法:增加设备到主机的通路而不增加通道。即把一个设备连接到多个控制器上,一个控制器连接到多个通道上。,

13、5.1.4 总线系统,总线型I/O系统结构,计算机系统中各部件之间的联系都是通过总线来实现的。,1.ISA和EISA总线1)ISA(Industry Standard Architecture)总线 1984年推出,80286型微机使用的总线结构。总线的带宽为8位,最高传输速率为2Mb/s。之后不久又推出了16位的(EISA)总线,其最高传输速率为8Mb/s,后又升至16Mb/s,能连接12台设备。2)EISA(Extended ISA)总线 80年代末期,开发出扩展ISA(EISA)总线,带宽为32位,总线的传输速率高达32Mb/s,同样可以连接12台外部设备。,2.局部总线(Local B

14、us),VESA(Video Electronic Standard Association)总线 带宽为32位,最高传输速率为132Mb/s。90年代推出。只能连接2-4台设备,且控制器中无缓冲。不支持Pentium微机。PCI(Peripheral Component Interface)总线 在CPU和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。在管理层中配有数据缓冲,最多支持10种外设,并使高时钟频率的CPU能很好运行。可连接ISA和EISA等传统总线,数据总线32位,且可扩展为64位。,5.2 I/O控制方式,程序I/O方式 中断驱动I/O控制方式 DMA I/O控制

15、方式 I/O通道控制方式,5.2.1 程序I/O方式,在这种方式下,CPU中无中断机构。输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行,浪费CPU时间。I/O准备就绪后,CPU参与数据传送工作,而不能执行原程序。CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率很低。,5.2.2 中断驱动I/O控制方式,CPU启动I/O设备后,不必查询I/O设备是否就绪,继续执行现行程序。设备控制器按照命令要求去控制指定的I/O设备,当数据准备好

16、后,即进入数据寄存器后,控制器通过控制线向CPU发送中断信号。I/O操作直接由CPU控制,每传送一个字符或字,要发生一次中断,仍然消耗大量CPU时间。不必忙式查询I/O准备情况,CPU和I/O设备可实现部分并行,与程序查询的串行工作方式相比,使CPU资源得到较充分利用。,5.2.3 直接存储器访问DMA I/O控制方式,如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这就出现了直接存储器存取DMA方式。1.特点:数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和

17、结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。,2.DMA控制器的组成,在DMA控制器中设置四类寄存器:(1)命令/状态寄存器CR:用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。(2)内存地址寄存器MAR:在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。(3)数据寄存器DR:用于暂存从设备到内存,或从内存到设备的数据。(4)数据计数器DC:存放本次CPU要读或写的字(节)数。,3.DMA工作过程,DMA方式的工作流程,例:CPU从磁盘 读取数据,CPU转去执行其他任务,5.2.4 I/O通道控制方式,1.I/O通

18、道控制方式的引入,I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。,2.通道程序,(1)操作码读、写、控制等操作(2)内存地址操作的内存首址(3)计数操作的字节数(4)通道程序结束位PP=1,通道结束(5)记录结束标志RR=1,记录结束,通道是通过执行通道程序,并于设备控制器共同实现对I/O设备的控制。通道程序由一系列的通道指令所构成。每条通道指令应包含以下的内容:,例:下面给出一个由六条通道指

19、令所构成的简单的通道程序。该程序是将内存中不同地址的数据写成多个记录。,5.3 缓 冲 管 理,5.3.1 缓冲的引入,(1)缓和CPU与I/O设备间速度不匹配的矛盾。凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。(3)提高CPU和I/O设备之间的并行性。,5.3.2 单缓冲和双缓冲,1.单缓冲(Single Buffer),单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。,外部设备,缓冲区,OS,用户进程,对于块设备:OS为

20、进程分配一缓冲区,块设备输入时从磁盘把一块数据输入缓冲区的时间为T,OS将缓冲区的数据传送给用户区的时间为M,计算时间为C,则T和C时可以并行的。数据处理时间约为maxC,T+M。对于字符设备:输入时,缓冲区用于暂存用户输入的一行数据,在输入期间,进程挂起等待输入完毕;输出时进程将一行数据输入到缓冲区,继续执行处理。如果前面的数据尚未提取完毕,则进程应阻塞。,单缓冲工作示意图,在两种情况下,单缓冲区的使用不会改善用户进程的性能:如果用户进程在对有关数据进行加工处理时不释放I/O缓冲区,那么用户进程的性能不会得到改善。如果T远大于C,即外部设备的I/O速度比用户进程的计算速度慢得多,那么,单I/

21、O缓冲区不会显著改善用户进程的性能。,2.双缓冲(Double Buffer),增加一个缓冲区,两个缓冲区可以交替使用。当数据从缓冲区复制到用户进程空间时,输入设备不必等待,可立即开始向另一个缓冲区输入数据。因此,增加了一个缓冲区后,前述的数据处理时间可近似为:MAX(T,C)。,外部设备,缓冲区,OS,用户进程,缓冲区,另外,若用户进程I/O的数据超过一个缓冲区而不满两个缓冲区,双缓冲使进程不会在I/O数据期间被阻塞。,双机通信时缓冲区的设置,在实现两台机器通信时,缓冲区的设置:单缓冲、双缓冲。,5.3.3 循环缓冲,当用户进程处理数据的速度较快、外部设备处 理数据的速度较慢,或者用户进程输

22、入/输出的数据较多时,必须考虑增加缓冲区的数量以改善系统性能,这就是多缓冲区方式。多个I0缓冲区常常被组织成一个环形队列,故称为循环缓冲。实质上,双缓冲可以看作是循环缓冲的一个特 例。,1.循环缓冲的组成,多个缓冲区:每个缓冲区大小均相同。分三类:用于装输入数据的空缓冲区R。已经装满数据的缓冲区G。计算进程正在使用的工作缓冲区C。多个指针:三个指针,分别是:用于指示计算进程下一个可用缓冲区G的指针Nextg。输入进程下次可以使用的空缓冲区R的指针Nexti。指示计算进程正在使用的缓冲区C的指针Current。,循环缓冲,2.循环缓冲区的使用,(1)Getbuf过程:计算进程要使用缓冲区中的数据

23、时调用;输入进程要使用缓冲区来装入数据时调用。(2)Releasebuf过程:计算进程把C缓冲区中的数据提取完毕时调用;当输入进程把缓冲区装满时调用。,3.进程同步,Nexti指针追赶上Nextg指针。(2)Nextg指针追赶上Nexti指针。,5.3.4 缓冲池(Buffer Pool),上述三种缓冲区的组织形式仅适用于某种特定的I/0进程和计算进程,属于专用缓冲。当系统中的设备很多时,将会有许多这样的循环缓冲区,消耗大量的内存空间,而且其利用率也不高。为了提高缓冲区的利用率,可以采用公共缓冲池技术,其中的缓冲区可为多个设备和进程服务。缓冲池由内存中一组大小相等的缓冲区组成,缓冲池属于系统资

24、源,由系统进行管理。,1.缓冲池的组成,缓冲池中的缓冲区一般有以下三种类型:空(闲)缓冲区;装满输入数据的缓冲区;装满输出数据的缓冲区。为了管理,将相同类型的缓冲区链成队列,形成三个队列:空缓冲队列emq;输入队列inq;输出队列outq。,2.Getbuf过程和Putbuf过程,void Getbuf(type)Wait(RS(type);Wait(MS(type);B(number):=Takebuf(type);Signal(MS(type);,void Putbuf(type,number)Wait(MS(type);Addbuf(type,number);Signal(MS(type

25、);Signal(RS(type);,3.缓冲区的工作方式,缓冲区的工作方式,hin,sout,sin,hout,收容输入,提取输出,用户,程序,提取输入,收容输出,缓冲池,(四种工作方式),5.4 设 备 分 配,在多道程序环境下,系统中的设备供所有进程共享,为防止诸进程对系统资源的无序竞争,特规定系统设备不允许用户自行使用,必须由系统统一分配。,5.4.1 设备分配中的数据结构,1.设备控制表DCT,每个设备一张DCT,2.控制器控制表、通道控制表和系统设备表,COCT、CHCT和SDT表,5.4.2 设备分配时应考虑的因素,5.4.3 设备独立性,1.设备独立性(Device Indep

26、endence)的概念 也称为设备无关性。基本含义:应用程序独立于具体使用的物理设备。实现方法:引入逻辑设备和物理设备这两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;系统在实际执行时,使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,类似于存储器管理中所介绍的逻辑地址和物理地址的概念。,在实现了设备独立性的功能后,可带来以下两方面的好处:(1)设备分配时的灵活性(2)易于实现I/O重定向,2.设备独立性软件,执行所有设备的公有操作 向用户层(或文件层)软件提供统一接口,在驱动程序之上设置的一层软件,用于实现了设备独立性,称为设备独立性软件。主要功能:,3

27、.逻辑设备名到物理设备名映射的实现,(1)逻辑设备表LUT(图a)(2)LUT的设置问题(图b-多用户系统中的LUT),逻辑设备表,5.4.4 独占设备的分配程序,1.基本的设备分配程序,(1)分配设备(2)分配控制器(3)分配通道,存在的问题:进程以物理设备名提出I/O请求。采用单通路的I/O系统结构,易产生“瓶颈”现象。,只有在设备、控制器、通道三者都分配成功时,这次的设备分配才能成功。,2.设备分配程序的改进,(1)增加设备的独立性(2)考虑多通路情况,5.4.5 SPOOLing技术,1.什么是SPOOLing Simultaneaus Periphernal Operations O

28、n-Line(外部设备同时联机操作),或称为假脱机操作。SPOOLing技术是对脱机输入、输出操作的模拟。可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。,2.SPOOLing系统的组成,输入井和输出井(磁盘上)输入井:模拟脱机输入时的磁盘设备,暂存I/O设备输入的数据。输出井:模拟脱机输出时的磁盘设备,暂存用户程序的输出数据。输入缓冲区和输出缓冲区(内存中)输入缓冲区:暂存由输入设备送来的数据,以后再传入输入井。输出缓冲区:暂存从输出井送来的数据,以后再传送给输出设备。输入进程和输出进程-模拟脱机I/O时的外围控制机。,SPOOLing系统的组成,好处:实现了对作业输入、组织调

29、度和输出的统一管理;使外设在CPU直接控制下,与CPU并行工作(假脱机)。,3.利用SPOOLing技术实现共享打印机,用户进程请求打印时,SPOOLing系统将进行两步操作:由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。,SPOOLing系统的工作方式,用户进程,逻辑设备管理模块,输入,输出,spooling管理程序,spooling输入程序,spooling管输出程序,打印机,读卡机,disk,4.SPOOLing系统的特点,(1)提高了I/O的速度。(2)将

30、独占设备改造为共享设备。(3)实现了虚拟设备功能。,5.5 设 备 处 理,5.5.1 设备驱动程序的功能和特点,1.设备驱动程序的功能,(1)接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求。(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。,设备处理程序:又称设备驱动程序、设备驱动进程,是I/O进程与设备控制器之间的通信程序。,(3)发出I/O命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相

31、应的中断处理程序进行处理。(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。,2.设备处理方式,(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。(2)在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。(3)不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户进程或系统进程调用。,不同的OS中采用的设备处理方式不完全相同。根据设备处理时是否设置进程,以及设置什么样的进程把设备处理方式分为三类:,3.设备驱动程序的特点,(1)驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和

32、转换程序。(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关。(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。,5.5.2 设备驱动程序的处理过程,1.将抽象要求转换为具体要求。2.检查I/O请求的合法性。3.读出和检查设备的状态。4.传送必要的参数。5.工作方式的设置。6.启动I/O设备。,1.唤醒被阻塞的驱动程序进程。2.保护被中断进程的现场。3.分析中断原因、转入相应的设备中断处理程序。4.进行中断处理。5.恢复被中断进程的现场。,5.5.3 中断处理程序的处理

33、过程,中断处理流程,中断现场保护示意图,5.6 磁盘存储器管理,5.6.1 磁盘性能简述,1.数据的组织和格式,磁盘的格式化,2.磁盘的类型,(1)固定头磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。(2)移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。,3.磁盘访问时间,(1)寻道时间Ts 指把

34、磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即Ts=mn+s。其中,m是一常数,与磁盘驱动器的速度有关。对一般磁盘,m=0.2;对高速磁盘,m0.1,磁臂的启动时间约为2ms。这样,对一般的磁盘,其寻道时间将随寻道距离的增加而增大,大体上是530 ms。,(2)旋转延迟时间T 是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400r/min,每转需时11.1ms,平均旋转延迟时间T为5.55ms;对于软盘,其旋转速度为300r/min或600r/min,这样,平均T为50100 ms。,(3)传输时间Tt 这是指把

35、数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关:,其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数,当一次读/写的字节数相当于半条磁道上的字节数时,Tt与T相同,因此,可将访问时间Ta表示为:,5.6.2 磁盘调度,1.先来先服务FCFS(First-Come,First Served),FCFS调度算法,2.最短寻道时间优先SSTF(Shortest Seek Time First),SSTF调度算法,3.扫描(SCAN)算法,(1)进程“饥饿”现象,SSTF算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”(Starvation)

36、现象。因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法,即可防止老进程出现“饥饿”现象。,(2)SCAN算法,SCAN调度算法示例,又称为“电梯调度算法”,4.循环扫描(CSCAN)算法,CSCAN调度算法示例,5.N-Step-SCAN和FSCAN调度算法,(1)N-Step-SCAN算法 在SSTF、SCAN及CSCAN几种调度算法中,都可能出现磁臂停留在某处不动的情况,称为“磁臂粘着”(Armstickiness)。在高密度磁盘上容易出现此情况。,5.N-Step-SCAN和F

37、SCAN调度算法,N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能;当N=1时,N步SCAN算法便蜕化为FCFS算法。,(2)FSCAN算法 实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在

38、扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。,5.6.3 磁盘高速缓存(Disk Cache),1.磁盘高速缓存的形式,是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。因此,这里的高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。,高速缓存在内存中可分成两种形式:(1)在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;(2)把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。高速缓存的大小不固定。,2.数

39、据交付方式,系统可以采取两种方式,将数据交付给请求进程:(1)数据交付:这是直接将高速缓存中的数据,传送到请求者进程的内存工作区中。(2)指针交付:只将指向高速缓存中某区域的指针,交付给请求者进程。,3.置换算法,由于请求调页中的联想存储器与高速缓存(磁盘I/O中)的工作情况不同,因而使得在置换算法中所应考虑的问题也有所差异。因此,现在不少系统在设计其高速缓存的置换算法时,除了考虑到最近最久未使用这一原则外,还考虑了以下几点:(1)访问频率(2)可预见性(3)数据的一致性,4.周期性地写回磁盘,在UNIX系统中专门增设了一个修改(update)程序,使之在后台运行,该程序周期性地调用一个系统调

40、用SYNC。该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁盘。一般是把两次调用SYNC的时间间隔定为30s。这样,因系统故障所造成的工作损失不会超过30s的劳动量。,4.周期性地写回磁盘,而在MS-DOS中所采用的方法是:只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,并将这种高速缓存称为“写穿透、高速缓存”(write-through cache)。MS-DOS所采用的写回方式,几乎不会造成数据的丢失,但须频繁地启动磁盘。,5.6.4 提高磁盘I/O速度的其它方法,1.提前读(Read-Ahead)2.延迟写 3.优化物理块的分布 4.虚拟盘,总 结,本章主要介绍了:I/O系统:I/O设备、设备控制器、I/O通道、总线系统。I/O控制方式:程序I/O方式、中断驱动I/O方式、DMA I/O控制方式、I/O通道控制方式。缓冲管理:单缓冲和双缓冲、循环缓冲、缓冲池。设备分配:SPOOLing技术、独占设备的分配程序、中断处理程序、设备驱动程序。磁盘存储器的管理:磁盘调度、磁盘缓存。,作业:2、3、8、9、13、15、17、18、20、21、22、25,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号