操作系统第6章输入输出管理ppt课件.ppt

上传人:小飞机 文档编号:1349997 上传时间:2022-11-12 格式:PPT 页数:95 大小:1.86MB
返回 下载 相关 举报
操作系统第6章输入输出管理ppt课件.ppt_第1页
第1页 / 共95页
操作系统第6章输入输出管理ppt课件.ppt_第2页
第2页 / 共95页
操作系统第6章输入输出管理ppt课件.ppt_第3页
第3页 / 共95页
操作系统第6章输入输出管理ppt课件.ppt_第4页
第4页 / 共95页
操作系统第6章输入输出管理ppt课件.ppt_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《操作系统第6章输入输出管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《操作系统第6章输入输出管理ppt课件.ppt(95页珍藏版)》请在三一办公上搜索。

1、第六章 设备管理目的与要求:掌握I/O控制的原理、设备的使用方法。重点与难点:三种不同的I/O控制方式,三种不同的设备使用方法。,6.1 设备管理概述,1.设备的分类和标识,1、设备分类按工作特性分成存储设备、输入设备、输出设备。,(1)存储设备也称外存或后备存储器、辅助存储器。存储速度较内存慢,比内存容量大,相对价格便宜。也称块设备。在物理上按固定的块组织,每块有自己的地址,块的大小通常在512KB-32KB。,(2)输入设备输入设备是计算机用来接收来自外部世界信息的设备。如:键盘、鼠标、扫描仪、话筒、卡片输入机,纸带输入机等。(3)输出设备输出设备是将计算机加工处理好的信息送向外部世界的设

2、备。如:打印机,绘图仪,显示器、音箱等。输入设备、输出设备也称字符设备。信息以字符为单位组织。字符设备不编址,也没有任何寻址操作。,按传输速度的快慢来分类(1)低速设备。如:键盘(10B/S)、鼠标(100B/S)(2)中速设备(比低速高一个数量级)。如:行式打印机、激光打印机(100KB/S)(3)高速设备(比中速高一个数量级)。如:磁盘(IDE磁盘5MB/S)、PCI总线528MB/S,2、设备标识怎样标识各台设备?或如何给各台设备命名?(1)设备绝对号系统按某种原则为每台设备分配唯一的号码,用作硬件区分和识别设备的代号,称做设备绝对号(或设备绝对地址)。,(2)设备类型号操作系统为每类设

3、备规定了一个编号,称做设备类型号,也称主设备号。用户在编写程序时不能通过设备绝对号来使用设备,只需向系统说明他要使用的设备类型。,如:UNIX系统中的所有块设备的设备名由主设备和次设备两部份构成。例:rdf0,rdf1分别表示第1个和第2个软盘驱动器。前者rdf表示设备类型,后者表示同类设备的相对序号。,6.1.2 I/O系统结构总线I/O系统结构不同规模的计算机系统,其I/O系统结构存在差异。大多数微型机和小型计算机中,都使用总线I/O系统结构。如:PCI(Peripheral Component Interconnect,外部设备互连)总线,例1:典型的PC总线结构。连接CPU、主存、设备

4、控制器和I/O设备模型,6.1.3 设备控制器一、I/O部件的组成 I/O设备通常包含一个电子部件和一个机械部件。(1)电子部件被称做设备控制器(Device Controller)或适配器(Adapter)(当控制多设备时:又叫总线控制器,通道控制器)。在个人计算机中,它通常是一块可以插入主板扩展槽的印刷电路板;,(2)机械部分则是设备本身。操作系统一般只与控制器打交道,而非设备本身。早期CPU是直接控制外部设备的,在引入I/O部件之后,才将CPU逐渐从与外设的交互细节中解放出来。,二、设备控制器的功能(1)实现主机与设备之间的通信控制,进行端口地址的译码;(2)把计算机的数字信号转换成机械

5、部分能识别的模拟信号,或者反过来。(3)实现数据缓冲。(4)接收主机发来的控制命令。(5)将设备和控制器当前所处的状态提供给主机。,四、控制器与CPU的通信方式1、每个控制器都有一些用来与CPU通信的I/O寄存器。控制寄存器:用来选择外部设备的某个功能。如全双工或半双式通信方式、激活奇偶校验等。状态寄存器:记载当前设备的状态,如当前命令是否完成,设备是否出错等。数据寄存器:保存当前输入/输出的数据。,操作系统通过向这些寄存器写命令字来执行I/O功能。操作系统从这些寄存器中读取数据,从而知道设备的当前状态,并判断是否准备接收新的命令等。,2、通信方式的实现方法(1)存贮器映像I/O方式。在某些计

6、算机上,这些寄存器占用内存地址空间的一部份。,(2)专用地址方式。有些计算机使用专用的地址。每个控制器中的寄存器对应地址空间的一部份。如IBM-PC中的专用I/O地址如下:,IBM PC的I/O地址,6.1.4 I/O系统的控制方式,(1)程序I/O(程序直接控制方式),CPU直接控制I/O操作的全过程,包括测试设备状态、发送读写命令、传输数据。,因此,处理机指令集应包括控制类、测试类、读写类I/O指令。,I/O部件接收到相应的命令后,置于I/O状态寄存器的相应位置上。随着操作的执行更改状态位,但并不通知CPU。I/O数据通过CPU寄存器转发。,(2)中断驱动I/O(中断控制方式),CPU向I

7、/O部件发出命令后,转去做其他有用的工作。当I/O部件准备好数据后,利用中断通知CPU,再由CPU完成数据传输。CPU不必反复测试寄存器状态,节约了时间。但总体看来,中断控制方式仍然消耗大量的CPU时间,因为每个字的数据传输都必须经过CPU寄存器转发。,(3)DMA技术(直接存贮器存储),一、前两种方式的缺陷: I/O的传输速率受CPU测试或中断响应的速度限制; CPU为管理I/O耗费大量时间。,二、DMA(直接内存存取)方式是一种优于中断方式的I/O控制方式,其特点是:(1)数据传送的基本单位是数据块,即CPU与I/O之间,每次至少传送一个数据块;(2)所传的数据块,无需再经CPU寄存器转发

8、而直接传至内存,或相反;(3)仅在一个数据块传输的开始或结束需要CPU干预。(4)CPU向DMA部件发送I/O命令后,即可进行其他工作。给DMA的命令中应包括:操作类别、I/O设备的地址、读写数据在内存中的首地址、字数。,DMA的功能可以以独立的DMA部件在系统I/O总线上完成,也可整合到I/O部件中完成。 读写内存时,DMA部件需要控制总线,CPU可能在涉及存储访问时因此而忙等待。,输入/输出控制方式的发展过程,(4) 通道技术概念1、什么是I/O通道。也称I/O处理器(机),是一个专门负责I/O的处理器,置于CPU和设备控制器之间;它是在DMA的基础上发展起来的,也是一种DMA技术,只是通

9、道的控制芯片更为复杂,有了自己专用于I/O的指令集和存储器。称这种I/O处理器为I/O通道。,2、通道程序。是由一系列的通道指令(或称通道命令)所构成,它由CPU按数据传送的不同要求自动形成,一般只包括少数几条指令。,3、I/O通道的类型。字节多路通道字节多路通道是以字节为基本传输单位,当一子通道控制的某台外设交换了一个字节后,就转向下一个子通道,以控制下一台设备传送一个字节。这就实现了子通道的循环轮转,以达到多路控制的目的,字节多路通道主要用来控制低速、并且以字节为基本传送单位的设备。如打印机。,字节多路通道示例,数组选择通道这种通道一次执行一个通道程序,控制一台设备连续地传送一批数据,当一

10、个程序执行完后,才转向下一个程序,它的优点是传输速度高,缺点是一次只能控制一台设备进行I/O操作。它主要用来控制高速外设。如磁盘。,数组多路通道这种通道是上述两种通道的折中,可以分时的方式执行多道程序,每道程序可传送一组数据。它主要用于中速设备的控制。如磁带机。在一大型系统中可以同时存在这三种类型的通道以便控制各种不同类型的设备。,6.2 I/O软件,I/O软件的层次及其设计 (1)I/O软件的总体目标按分层的思想构造软件,较低层的软件要使较高层的软件独立于硬件,较高层的软件则要向用户提供一个友好、规范、清晰的界面。 (2)I/O软件设计的具体目标设备独立性。让应用程序独立于具体的物理设备。,

11、统一命名。一个文件或一个设备的名字应该是一个简单的字符串或一个整数,它不应依赖于设备。同步异步传输。大多数物理I/O是异步的,但应可与CPU同步。出错处理。一般说来,错误应尽可能地在接近硬件的层上处理。设备共享与独占。有些I/O设备应共享,如磁盘,而有些I/O设备应独占,如打印机等。,(3)I/O软件的层次根据I/O软件的设计目标,将I/O软件组织成以下4个层次:中断处理程序、设备驱动程序、与设备无关的I/O软件和用户空间的I/O软件。,I/O软件层次的逻辑结构图,6.2.1 中断处理程序 (第一层) 中断处理程序的主要任务:在采用中断驱动方式管理I/O设备时,当设备完成任务后,会向CPU发出

12、中断信号,CPU分析中断原因,并调用对应的中断处理程序进行处理。中断处理程序进行相应的检查并取走数据,然后从中断处理程序返回至原来的执行点,继续执行。,中断处理程序的基本步骤:无论是哪一种I/O设备,其中断处理程序的处理基本相同,其步骤为:唤醒被阻塞的驱动进程。 保护被中断进程的CPU环境。分析中断原因,转入相应的中断处理程序。进行中断处理。恢复现场。,7.2.2设备驱动程序(第二层) 设备驱动程序中存放着所有与设备相关的代码,每一类设备配置一种驱动程序。设备驱动程序的功能有如下几点: 将接收到的来自它上一层的与设备无关的抽象请求转为具体请求。如:请求“读第N块”,磁盘驱动程序应计算请求块的物

13、理地址,检查驱动器的电机是否正在运转,确定磁头臂是否定位在正确的柱面上等。 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数、设置设备的工作方式。,发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作。 及时响应控制器或通道发来的中断请求,并调用相应的中断处理程序进行处理。 对于有通道的计算机系统,驱动程序还应能根据用户的I/O请求构成通道程序。,6.2.3 与设备无关的I/O软件(第三层)与设备无关的I/O软件和设备驱动程序之间的确切界限依赖于具体系统,某些系统出于效率的考虑,让设备驱动程序来实现本层软件功能。与设备无关的软件的基本任务是实现一般设备都需要的I/O功能,

14、并且向用户层软件提供一个统一的逻辑接口。与设备无关的I/O软件系统称为I/O子系统。I/O子系统执行着与设备无关的操作,同时还为用户应用程序提供一个统一的接口。,I/O子系统所需完成的主要功能:1、设备命名。2、设备保护。3、与设备无关的块。4、设备分配。5、出错处理。,6.2.4 用户空间的I/O软件(第四层)这一层与设备的控制细节无关,不直接与设备打交道。它将所有的设备看做逻辑资源。 一、用户空间的I/O软件有两类:一类是与用户程序相连的库过程,这些库过程是I/O软件的一部分。如:为用户进程提供各类I/O函数。用户以设备标识符和一些简单的函数来使用设备,如打开、关闭、读、写等。如C库中的函

15、数fopen( ),fread( ),fwrite( ),fclose( )等 。,另一类是SPOOLing(外部设备联机并行操作)系统,也称假脱机系统。它是针对慢速独占设备提出的一种设备管理技术,其核心思想是利用一台可共享的、高速大容量的块设备来模拟独占设备的操作,使一台独占设备变为多台可并行的虚拟设备,即把独占设备变成逻辑上的共享设备。,二、SPOOLing系统具有下列特点: 对于用户进程是透明的,用户进程仍使用统一的系统调用命令访问字符设备。 用户进程实际上使用的是虚拟设备,而不是直接使用字符设备。 字符设备与各虚拟设备之间的数据交换由SPOOLing进程统一调度实施,而且这种交换是以并

16、行方式进行的。例:打印设备是独占型设备,但通过SPOOLing技术,可让打印设备成为共享设备。,三、设备的使用方法 (一)设备相关系统调用简介 1.申请设备。该系统调用中有参数说明要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(是独占还是分时共享式使用)及设备的占用情况来分配设备,返回申请是否成功标志。 2.将数据写入设备。 3.从设备读取数据。 4.释放设备。这是申请设备的逆操作。,说明: 上述的系统调用主要用于对人-机交互类慢速外设的使用。 对于存储类外设,用户程序一般通过对文件的访问,由文件管理模块读写存储外设间接使用它们,系统也提供直接使用存储类外设的接口。 对于网络通信外

17、设,用户级程序也不直接使用它们,用户通过SOCKET通信系统调用接口调用TCP/IP层程序,由IP层程序选择调用网络通信设备驱动程序。,在UNIX中,也可以用如下的系统调用将数据直接写入软盘中:fd=open(“/dev/fd0”,ORDRW);申请软盘,/dev/fd0代表软盘。lseek(fd,1024,0);将软盘当前I/O位置定位到1024字节位置。 Write(fd,buffer,36);将用户缓冲区buffer中的36个字节写入软盘10241059字节。close(fd) ;释放软盘。 显然,这样的使用方式绕过了文件管理,而直接读写软盘空间。当然你必须清楚软盘的什么位置存放了什么信

18、息,才能做到正确的读写。,(二)独占式共享使用设备 所谓独占式共享使用设备是以一次设备使用过程(包含多次I/O操作)为单位使用设备。 在申请设备时,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放,才允许被其他进程申请使用。,(三)分时式共享使用设备 独占式共享使用设备时,设备利用率很低。 如果一个逻辑上完整的数据可以用设备的一次I/O操作完成,那么就不必要独占该设备。反过来说,如果一次I/O操作的数据逻辑上完整,就不必要对该设备进行独占方式的申请使用。在申请这种设备时,不必检查是否已被占用,只要简单累加设备使用者计数即可。 所谓分时式共享就是以一次I/O为单位分时使用

19、设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O 。,(四)以SPOOLing方式使用外设 SPOOLing 技术是在批处理操作系统时代引入的,即所谓假脱机输入/输出技术。把这种技术用于对设备的使用实质就是对输入输出操作成批处理。 例如:所有输出数据已经写到文件当中,并排到打印输出队列,打印进程申请占用打印机后,成批读出文件中数据,并送打印机打印出去。,6.2.5 缓冲技术,为什么引入缓冲技术?为缓和CPU与I/O设备间速度不匹配的矛盾,减少CPU的中断频率,放宽对中断响应的限制,提高CPU和I/O设备之间的并行性,操作系统引人了缓冲技术。I/O缓冲区是缓冲技术用到的重要数据结

20、构,缓冲区管理是逻辑I/O系统的基本功能之一。,缓冲区的分类1、从使用方式上分,缓冲区可分为专用缓冲区和公用缓冲区两部分。前者是为某台设备专门设置的缓冲区,占用固定的内存空间。后者是为所有设备设置的缓冲区,为各设备共享。,2、缓冲区的组织方式可分为:单缓冲区、多缓冲区和缓冲池。单缓冲区和多缓冲区的组织方式为专用缓冲区方式采用。对于单缓冲区,生产者和消费者只能串行访问缓冲区。对于多缓冲区(如双缓冲区),生产者和消费者可并行交替地访问各缓冲区,从而加快了传输速度,提高了系统效率。缓冲池为公用缓冲区方式采用。它由若干大小相等的缓冲区组成,各缓冲区既可用于输人,也可用于输出。,对于输出:进程先将数据传

21、入缓冲区,OS再将数据送出到设备。当数据到达率与离去率相差很大,则可以采用单缓冲方式。,思考题:1、单缓冲能加快进程的执行速度吗?能。单缓冲能实现CPU与I/O设备之间并行工作,故能从整体上提高进程的执行速度。,双缓冲原理:设置两个缓冲区buf1和buf2。读入数据时,首先输入设备向buf1填入数据,然后进程从buf1提取数据,在进程从buf1提取数据的同时。输入设备向buf2中填数据。当buf1取空时,进程又从buf2中提取数据,与此同时输入设备向buf1填数。如此交替使用两个缓冲区,使CPU和设备的并行操作的程度进一步提高。,当信息的输入输出速率相同(或相差不大)时,可利用双缓冲,实现二者

22、并行。,三、循环缓冲对于阵发性的输入、输出,双缓冲区往往不够用,并且不能获得令人满意的CPU和I/O设备的并行操作。例如:输入机输入数据的速度时而远高于CPU消耗数据的平均速度,则输入机很快地把缓冲区装满而处于空闲状态;时而CPU消耗数据的速度又远远高于输入机输入的速度,CPU又不得不处于等等状态。但随着缓冲区的数量增加,使情况有所改善。因此引入环形缓冲技术。,环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来。系统中有个缓冲区链首指针,指向第一个缓冲区,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区中的指针指向第一个缓冲区,从而形成环形缓冲区链。如图所

23、示。系统可循环使用这些缓冲区。环形缓冲区用于输入(输出)时,还要有两个指针IN和OUT。,IN指向可接收数据的空闲缓冲区的首址,OUT指针指向装好数据且未取走的缓冲区首址。系统初启时,指针被初始化为IN和OUT与首指针START相等,即START=IN=OUT。对于输入信息而言,设备接收信息时,信息输入到IN指向的缓冲区,当一个缓冲区装满后,IN指针指向下一个空闲缓冲区;当从缓冲区中提取信息时,提取由OUT指向的缓冲区中的信息,提取完毕,将OUT指针指向下一个装满信息的缓冲区。,系统必须考虑到这种方案的约束条件,即INOUT( 初始状态除外)。从设备输入信息的操作和提取信息的操作共用环形缓冲时

24、有一定的同步关系:OUTIN。当OUT到达IN时,处理数据的进程必等待。由于该方案是个环形链;故当IN指针达到最后一个缓冲区时,它将指向START指当IN到达OUT时,从设备输入信息的操作也必须等待。,环形缓冲区一般用于特定的进程,属于专用缓冲区,当系统较大时,将会有许多这样的环形缓冲区,这不仅要消耗大量的内存空间,利用率也不高。为了提高缓冲区的利用率,目前广泛流行公用缓冲池,池中的缓冲区可供多个进程共享。,缓冲池由内存中一组大小相等的缓冲区组成,池中各缓冲区的大小与用于I/O的设备的基本信息单位相似,缓冲池属于系统资源,由系统进行管理。缓冲池中各缓冲区可用于输出信息,也可用于输入信息,并可根

25、据需要组成各种缓冲区队列。,6.3 磁盘调度6.3.1 常见存储外设,(1)光学存储设备 CD-ROM; CD-R,CD-RW。(2)磁盘 数据组织一个磁盘有多个盘面组成,盘面有同心圆磁道组成,磁道有扇区组成,扇区为基本传输单位。 物理特性单磁头,多磁头。,多磁头活动头磁盘平面示意图,多磁头活动头磁盘立体示意图,6.3.2 磁盘调度,一、磁盘的访问时间,读写一次磁盘信息所需的时间可分解为:寻道时间、旋转时间、传输时间。,(1)寻道时间Ts。一般磁盘的平均寻道时间一般为5-l0ms。(2)旋转时间Tr(寻区时间)。硬盘的旋转速度为5400-10 OOOrpm。10 OOOrpm相当于每6ms转一

26、周。因此,速度为10 OOOrpm时,平均旋转时间为3ms(半周)。软盘的转速通常在300-60Orpm之间,因此平均旋转时间在100-200ms之间。,(3)传输时间Tt,Tt的大小与每次所访问的字节数b及旋转速度有关,表示为:,其中r为旋转速度,单位为转秒,N为一个磁道中的总字节数。,一、磁盘的访问时间,磁盘的访问时间为:,由上式可以看出,在磁盘的访问时间中,一次读取数据的多少与磁盘的访问时间有一定的关系。但在读取相同大小的数据时,访问时间又与要访问数据的组织有一定关系。,一、磁盘的访问时间,解: (1)如果文件尽可能紧密地保存在磁盘上,也就是说,文件占据了8个(2560/320)相邻磁道

27、中的所有扇区,这就是通常所说的顺序组织。读第一个磁道的时间如下。 平均寻道 10ms 平均旋转时间 (0+6)/2=3ms 读320个扇区 6ms 共计 10ms+3ms+6ms=19ms,例:已知磁盘的寻道时间为10ms,旋转速度为10 000rpm,每个磁道有320个扇区,每个扇区512字节,假设读取一个包含2560个扇区的文件,文件的大小是1. 3MB。试估计磁盘的访问时间。,解:(1) 如果在读其余的磁道时,不需要寻道时间,那么后面的每个磁道的读取时间是3+6=9ms,读取整个文件的访问时间为: 总访问时间T=19+79=82ms=0.082s,例:已知磁盘的寻道时间为10ms,旋转速

28、度为10 000rpm,每个磁道有320个扇区,每个扇区512字节,假设读取一个包含2560个扇区的文件,文件的大小是1. 3MB。试估计磁盘的访问时间。,解:(2)如果采用随机访问。也即访问随机分布在磁盘上的扇区。对于每个扇区的访问时间为T1:,二、减少寻道时间的方法 -选择合适的调度策略,为提高磁盘传输效率,软件应着重考虑减少寻道时间和延迟时间。 减少寻道时间是提高磁盘传输效率的关键。因为“寻道时间”在几十毫秒时间量级。,操作系统磁盘驱动程序可以通过对磁盘的访问请求顺序合理调度多道进程,达到减少磁盘平均服务时间的目的。,调度策略: FCFS(First Come First Served)

29、; SSTF(Shortest Seek Time First)最短服务时间优先; SCAN调度(电梯调度法); C-SCAN调度(单向扫描响应请求); LOOK调度、 C-LOOK调度(是scan和c-scan的改进)。,1)FCFS调度。假设磁盘请求队列中所涉及的柱面号(或磁道号)为Queue=98,183,37,112,14,124,65,67,磁头的初始位置为53,则磁头的运动过程如下:,结果:磁头共移动了640个磁道(98-53)+(183-98)+(183-37)+(112-37)+(112-14)+(124-14)+(124-67)+(67-65)=640,Queue=98,18

30、3,37,112,14,124,65,67,2)SSFT调度(最短服务时间优先)。根据磁头的当前位置,首先选择请求队列中距磁头最短的请求,再为之服务。又如上例Queue=98,183,37,112,14,124,65,67 。,结果:磁头共移动了236个磁道。(65-53)+(67-65)+(67-14)+(98-14)+(112-98)+(124-112)+(183-124)=236,Queue=98,183,37,112,14,124,65,67,但是SSFT仍不是最优算法。如上例,如果移动为53,37,14,65,67,98,112,124,183。则只移动208个磁道(见下图)。,3)

31、SCAN调度。亦称电梯调度。磁头固定地从外向内然后从内向外逐柱面移动如此往复,遇到所请求的柱面时立即为其服务。队列仍为上例Queue=98,183,37,112,14,124,65,67 。,(1)移动臂向外移(向0磁道方向)。,结果:磁头共移动了236个磁道。(53-0)+(183-0)=236,Queue=98,183,37,112,14,124,65,67 。,(2)移动臂向里移(向柱面号大方向)。(默认情况) Queue=98,183,37,112,14,124,65,67 。,结果:磁头共移动了331个磁道。(199-53)+(199-14)=331,4)LOOK调度。(SCAN调度

32、的改进)让磁头在每个方向上仅仅移动到最后请求位置,若当前方向上没有请求,则磁头反向。队列仍为上例Queue=98,183,37,112,14,124,65,67 。(1)移动臂向外移(向0磁道方向)。,14 37 53 65 67 98 112 124 183,磁头共移动了208个磁道。(53-14)+(183-14)=208,4)LOOK调度。让磁头在每个方向上仅仅移动到最后请求位置,若当前方向上没有请求,则磁头反向。队列仍为上例Queue=98,183,37,112,14,124,65,67 。(2)移动臂向里移(向柱面号大方向)(默认情况),14 37 53 65 67 98 112 1

33、24 183,磁头共移动了299个磁道。(183-53)+(183-14)=299,5)C-SCAN调度。(单向扫描调度)不管等待访问者的先后次序,总是从0号柱面开始向里(柱面大的方向)扫描,遇到所请求的柱面时立即为其服务。队列仍为Queue=98,183,37,112,14,124,65,67 。,磁头共移动了382个磁道。(199-53)+(199-0)+(37-0)=382,各算法特点比较在各算法中,SSTF算法比较通用,SCAN和C-SCAN算法更适合大负荷的磁盘系统。当请求队列中只有一个请求时,采用FCFS算法较合适。对于固定头设备(如磁鼓),需采用不同的调度算法。常见的算法是扇区排

34、队算法。,各算法特点比较扇区排队算法的基本思想是,把磁道划分成固定数量的称为扇区的块,为磁鼓的每个扇区定义一个单独队列,当一个对扇区I的请求到达后,就被置入 扇区I的队列中。扇区I移动到读写头下时,就为相应队列中的第一个请求服务。如果在一个特定磁道或柱面上存在多个服务请求,则可将扇区排队算法用于可移动头设备。,三、减少旋转时间(寻区时间)的方法,一般常将盘面扇区交替编号;磁盘迭中不同盘面错开命名。这样有利于减少旋转寻区时间。,例:某系统对磁盘初始化时把每个盘面分成8个扇区,今有8个逻辑记录被存放在同一磁道上供处理程序使用,处理程序要求顺序处理这8个记录,每次请求从磁盘上读一个记录,然后对读出的

35、记录要花5毫秒时间进行处理,接着再读下一个记录进行处理,直到8个记录都处理结束。假定磁盘转速为20毫秒/周。 (1)如果把8个逻辑记录依次存放在磁道上,如下图。问处理完这8个记录需要多少时间?,解:读一个记录花2.5毫秒(20/8=2.5)。当花了2.5毫秒的时读出第一个记录并花了5毫秒时间进行处理后,读写磁头已经在第4个记录的位置(2.5+5)/2.5=3。为了顺序处理第2个记录,必须等待磁盘把第2个记录旋转到读写磁头位置下面,即要有15毫秒的延迟时间(2号扇区已移至7的位置,由此移到始点花6*2.5=15ms)。读8个记录需重复7次,于是,处理这8个记录所花的时间为: 8*(2.5+5)+7*15=165(ms),(2)如果把8个逻辑记录按如下图次序存放在磁道上,如下图。处理完这8个记录需要多少时间?,解:显然,这是8个逻辑记录的最优分布。当读出一个记录处理后,读写磁头正好位于顺序的下一个记录位置,可立即读取下一个记录,不必花费等待延迟时间。所花时间只有: 8*(2.5+5)=60(ms),本讲完,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号