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

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

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

1、第六章 输入输出系统,6.1 I/O系统的功能、模型和接口6.2 I/O设备和设备控制器6.3 中断机构和中断处理程序6.4 设备驱动程序6.5 与设备无关的I/O软件6.6 用户层的I/O软件6.7 缓冲区管理6.8 磁盘存储器的性能和调度,6.1 I/O系统的功能、模型和接口,I/O系统的基本功能隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对I/O设备进行控制确保对设备的正确共享错误处理,6.1 I/O系统的功能、模型和接口,I/O系统的层次结构和模型I/O软件的层次结构,6.1 I/O系统的功能、模型和接口,I/O系统中各种模块之间的层次视图,6.1 I/O系统的功能、

2、模型和接口,I/O系统接口块设备接口流设备(字符设备)接口网络通信接口,6.2 I/O设备和设备控制器,I/O设备组成机械部件即设备本身(物理装置)执行I/O操作电子部件即设备控制器或叫适配器执行I/O控制在小型和微型机中,它常采用印刷电路卡插入计算机主板上的总线插槽通过若干接口寄存器或接口缓冲区与CPU通信,6.2 I/O设备和设备控制器,I/O设备可从不同角度对设备进行分类按使用特性分类存储设备输入输出设备按传输速率分类低速设备:每秒几个字节到数百个字节,键盘中速设备:每秒数千个字节到数十千字节,打印机高速设备:每秒数百千个字节到数兆个字节,网卡、磁盘,6.2 I/O设备和设备控制器,常用

3、设备、网络以及总线的数据率,6.2 I/O设备和设备控制器,按信息交换的单位分类块设备(Block Device):设备一次操作的数据传输单位是块常见设备:磁盘、磁带等特征:传输速率高;可寻址;DMA方式字符设备(Character Device):设备一次操作的数据传输单位是字符常见设备:键盘、终端、打印机和鼠标等特征:传输速率低;不可寻址;中断驱动方式,6.2 I/O设备和设备控制器,按设备的固有属性分类独占设备:在一段时间内只能由一个进程(用户)使用的设备,属于临界资源,如打印机、磁带机等共享设备:在一段时间内可由多个进程同时使用的设备,如磁盘虚拟设备:通过虚拟技术将一台独占设备改造为共

4、享设备,供若干进程同时使用,6.2 I/O设备和设备控制器,设备控制器设备控制器分为两类控制字符设备的控制器控制块设备的控制器,6.2 I/O设备和设备控制器,设备控制器的功能接收和识别命令(控制寄存器)数据交换(数据寄存器)设备状态的了解和报告(状态寄存器)地址识别(地址译码器)数据缓冲差错控制操作系统一般只与设备控制器打交道,6.2 I/O设备和设备控制器,设备控制器的组成 设备控制器是CPU和I/O设备之间的接口,它接收从CPU发来的命令,并去控制设备工作设备控制器和处理机的接口数据线:与数据寄存器和控制/状态寄存器相连地址线控制线,6.2 I/O设备和设备控制器,设备控制器和设备的接口

5、数据信号控制信号状态信号I/O逻辑CPU启动一个设备时,将启动命令和地址送给控制器控制器的I/O逻辑对收到的命令进行译码再根据译出的命令对所选的设备进行控制(在一个设备控制器中可以有一个或多个设备接口,一个接口连一台设备,控制器中的I/O逻辑根据处理机发来的地址信号,去选择其中的一个设备接口),6.2 I/O设备和设备控制器,6.2 I/O设备和设备控制器,内存映像I/O接口电路中有多个寄存器,一个寄存器有唯一的一个地址,每个地址为I/O端口,该地址称为I/O端口地址I/O指令形式与I/O地址相互关联,主要有两种形式I/O独立编址(I/O专用指令)内存映像编址(内存映像I/O模式),6.2 I

6、/O设备和设备控制器,I/O独立编址(I/O专用指令)分配给端口的地址空间是完全独立的,与内存的地址空间没有关系主机使用专门的I/O指令对端口进行操作优缺点外部设备不占用内存的地址空间程序设计时,易于区分是对内存操作还是对I/O端口操作对I/O端口操作的指令类型少,操作不灵活例子:8086/8088,分配给I/O端口的地址空间64K,只能用IN和OUT指令对其进行读写操作,6.2 I/O设备和设备控制器,内存映像I/O分配给系统中所有端口的地址空间与内存的地址空间统一编址主机把I/O端口看作一个存储单元,对I/O的读写操作等同于对存储器的操作优缺点凡是可对存储器操作的指令都可对I/O端口操作不

7、需要专门的I/O指令I/O端口可占有较大的地址空间占用内存空间,6.2 I/O设备和设备控制器,I/O通道(I/O Channel)I/O通道设备的引入为了把CPU从繁杂的I/O任务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作能力通道的定义I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作,6.2 I/O设备和设备控制器,通道特点指令类型单一通道没有自己的内存,通道程序在主机的内存中,即通道与CPU共享内存通道类型字节多路通道数组选择通道数组多路通道,6.2 I/O设备和设备控制器,字节多路通道通道中通常含有许多非分配型子通道,数量从

8、几十个到数百个,每一个子通道连接一台I/O设备这些子通道按时间片轮转方式共享主通道主要连接以字节为单位的低速设备,如打印机,终端以字节为单位传输信息,可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息,6.2 I/O设备和设备控制器,字节多路通道的工作原理,6.2 I/O设备和设备控制器,数组选择通道以成组方式工作,每次传送一批数据,传送速度高在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输。当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序。这种独占性又使得通道利用率很低主

9、要连接磁盘,磁带等高速I/O设备,6.2 I/O设备和设备控制器,数组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令。它含有多个非分配型的子通道,既有很高的数据传输率,又能获得令人满意的通道利用率实际上是对通道程序采用多道程序设计的硬件实现主要连接高速设备,6.2 I/O设备和设备控制器,“瓶颈”问题通道执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于CPU工作但是,由于通道价格贵,通道数量少,往往使之成为I/O的“瓶颈”,6.2 I/O设

10、备和设备控制器,单通路I/O系统,6.2 I/O设备和设备控制器,多通路I/O系统,解决“瓶颈”问题提高了控制器效率提高可靠性提高并行度,6.3 中断机构和中断处理程序,中断简介中断CPU对系统内外发生的异步事件的响应过程异步事件是指无一定时序关系随机发生的事件引入中断解决主机与I/O设备并行工作的问题提高系统可靠性实现多机联系方便应用程序,实现实时控制,6.3 中断机构和中断处理程序,分类,中断(狭义)与陷入的区别信号的来源不同中断: 与正执行指令无关,可以屏蔽 陷入: 与正执行指令有关,不可屏蔽,6.3 中断机构和中断处理程序,中断向量表和中断优先级中断向量表每个中断有一个唯一的中断向量号

11、(通常为中断类型号)中断向量号通常按照从小到大的顺序存放在中断向量表中中断向量表一般存放在主存储器的固定区域中每个表项是一个中断向量,存放了中断向量号和中断处理程序的入口地址中断优先级,6.3 中断机构和中断处理程序,对多中断源的处理方式中断屏蔽处理一个中断时屏蔽其它所有中断,对任何新中断置之不理,直至本次中断处理完,再检测有无新中断 中断嵌套 处理一个中断时可以继续响应其它中断,6.3 中断机构和中断处理程序,中断处理过程中断请求中断判优中断响应中断服务中断返回,中断源(中断事件):引起中断发生的事件中断处理程序:处理中断的程序代码,也称中断例程,6.3 中断机构和中断处理程序,6.3 中断

12、机构和中断处理程序,中断处理程序中断响应CPU在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号,6.3 中断机构和中断处理程序,保护被中断进程的CPU现场转让相应的中断处理程序中断处理恢复CPU的现场并退出中断,6.3 中断机构和中断处理程序,6.4 设备驱动程序,又称设备处理程序是I/O进程与设备控制器之间的通信程序,6.4 设备驱动程序,设备驱动程序概述设备驱动程序的功能接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式发出I/O命令及时响应由控制器或通道发

13、来的中断请求,根据中断类型,调用相应的中断处理程序进行处理对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序,6.4 设备驱动程序,设备驱动程序的特点驱动程序是实现在与设备无关的软件和设备控制器之间通信和转换的程序驱动程序与设备控制器和I/O设备的硬件特性密切相关驱动程序与I/O设备所采用的I/O控制方式密切相关驱动程序的一部分必须用汇编语言书写,目前有很多驱动程序的基本部分已固化在ROM中驱动程序应允许可重入,6.4 设备驱动程序,设备处理方式为每一类设备设置一个进程,专门用于执行这类设备的I/O操作在整个系统中设置一个I/O进程,专门用于执行系统中所有各类

14、设备的I/O操作。也可以设置一个输入进程和一个输出进程,分别处理系统中所有各类设备的输入或输出操作不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户或系统进程调用,6.4 设备驱动程序,设备驱动程序的处理过程将抽象要求转换为具体要求对服务请求进行校验检查设备的状态传送必要的参数启动I/O设备,6.4 设备驱动程序,对I/O设备的控制方式分为四类使用轮询的可编程I/O方式(程序I/O方式)使用中断的可编程I/O方式(中断驱动方式)直接存储器访问方式(DMA方式)I/O通道控制方式,6.4 设备驱动程序,使用轮询的可编程I/O方式,6.4 设备驱动程序,缺点CPU将大量

15、的时间花费在循环等待上,CPU效率极差外设不能合理利用整个系统的效率很低现在已较少使用这种方式作为I/O的数据传输控制,6.4 设备驱动程序,使用中断的可编程I/O方式,6.4 设备驱动程序,6.4 设备驱动程序,优点在设备进行数据传输时,CPU不必等待,可以继续执行其它进程缺点CPU以字(节)为单位进行干预,只适于数据传输率较低的设备,6.4 设备驱动程序,直接存储器访问方式(DMA方式)DMA方式的引入数据传输的基本单位是数据块所传送的数据是由设备直接送入内存,或者相反仅在传送一个或多个数据块的开始和结束时,才需要CPU干预,6.4 设备驱动程序,DMA控制器的组成主机与DMA控制器的接口

16、DMA控制器与块设备的接口I/O控制逻辑DMA控制器中设置四类寄存器命令/状态寄存器(CR)内存地址寄存器(MAR)数据寄存器(DR)数据计数器(DC),6.4 设备驱动程序,6.4 设备驱动程序,DMA工作过程窃取总线控制权,6.4 设备驱动程序,I/O通道控制方式I/O通道控制方式的引入将DMA方式中对一个数据块的读(写)为单位的干预,减少为对一组数据块的读(写)及有关的控制和管理为单位的干预实现CPU、通道和I/O设备三者的并行工作,从而更有效地提高了整个系统的资源利用率,6.4 设备驱动程序,通道程序通道程序由若干通道指令组成,每条通道指令规定了设备的一种操作,通道程序的执行过程就是I

17、/O 操作的处理过程每条通道指令包含以下信息操作码:规定指令执行的操作。内存地址:数据在内存中的首地址。计数:本条指令要读或写的字节数。通道程序结束位:表示通道程序是否结束。1,结束。记录结束标志:0,本条指令和下一条指令所处理的数据同属一个记录;1,这是处理某记录的最后一条指令,6.4 设备驱动程序,通道使用的主要寄存器数据字寄存器:用于存放传输的数据通道控制字寄存器(CCW) :用于存放当前正在执行的通道命令通道地址字寄存器(CAW) :用于存放通道命令的地址,在通道程序执行前,要把通道程序的首地址存于此通道状态字寄存器(CSW) :其中包括通道的状态、设备状态的信息,当I/O 操作结束时

18、送入主存固定单元,以中断的方式告诉CPU 有关通道、控制器和设备的有关信息,6.4 设备驱动程序,通道工作过程CPU执行用户进程,当遇到I/O请求时,由操作系统生成相应的通道程序放入内存,之后执行“启动I/O”指令,启动通道工作通道接收到“启动I/O”指令后,按CAW取出指令,同时向CPU发回答信号,使CPU可继续执行其它程序;而通道则开始执行通道程序,控制设备完成传输工作。此时,通道与CPU并行工作当通道传输完成时,向CPU发I/O中断,并且通道停止工作CPU接收中断信号,根据通道的状态信息,决定下一步做什么,进程 i / 进程 k / 其他就绪进程,执行规定的操作,用户程序,中央处理器,操

19、作系统程序,通道,设备控制器和设备,6.5 与设备无关的I/O软件,与设备无关软件的基本概念也称设备独立性(Device Independence)基本含义:应用程序独立于具体使用的物理设备做法应用程序中使用逻辑设备名称来请求使用设备系统在实际执行时,必须使用物理设备名称好处设备分配时的灵活性易于实现I/O重定向,6.5 与设备无关的I/O软件,与设备无关的软件的功能设备驱动程序的统一接口缓冲管理差错控制对独立设备的分配和回收独立于设备的逻辑数据块实现设备的符号名到设备驱动程序的映射,6.5 与设备无关的I/O软件,(a)没有标准的 (b)具有标准的 驱动程序接口 驱动程序的接口,6.5 与设

20、备无关的I/O软件,设备分配设备分配中的数据结构系统设备表SDT(System Device Table)整个系统中只有一张每个设备占一个表项,6.5 与设备无关的I/O软件,设备控制表DCT(Device Control Table)系统中的每台设备都有一张设备控制表DCT充分体现出设备的各方面特征,6.5 与设备无关的I/O软件,控制器控制表(COCT)每个控制器一张通道控制表(CHCT)每个通道一张,6.5 与设备无关的I/O软件,设备分配时应考虑的因素设备的固有属性独占设备采用独享分配策略,即将设备分配给某进程后,便由该进程独占,直至该进程完成或释放该设备。缺点:设备得不到充分利用,还

21、可能引起死锁。共享设备同时分配给多个进程使用,须注意对这些进程访问该设备的先后次序进行合理的调度。虚拟设备同共享设备,6.5 与设备无关的I/O软件,设备分配算法先来先服务优先级高者优先,6.5 与设备无关的I/O软件,设备分配时的安全性安全分配方式每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。缺点:进程进展缓慢,CPU与I/O设备串行工作不安全分配方式进程在发出I/O请求后仍继续运行,需要时又发出第二个I/O请求、 第三个I/O请求等。仅当进程所请求的设备已被另一进程占用时,请求进程才进入阻塞状态。优点:进程可同时操作多个设备,进程推进迅速。缺点:分配不安全,可能

22、造成死锁。设备独立性,6.5 与设备无关的I/O软件,独占设备的分配程序基本的分配程序分配设备分配控制器分配通道设备分配程序的改进增加设备的独立性考虑多通路情况,6.5 与设备无关的I/O软件,逻辑设备名到物理设备名映射的实现逻辑设备表(LUT,Logical Unit Table),6.5 与设备无关的I/O软件,LUT的设置问题整个系统中只设置一张LUT要求所有用户都不使用相同的逻辑设备名主要用于单用户系统中为每个用户设置一张LUT每当用户登录时,便为该用户建立一个进程,同时也为之建立一张LUT,并将该表放入进程的PCB中,6.6 用户层的I/O软件,大部分IO软件都包含在操作系统中但仍有

23、一小部分在用户空间,包括与用户程序连接在一起的库函数完全运行于内核之外的SPOOLing系统,6.6 用户层的I/O软件,系统调用与库函数系统调用库函数 C语言、UNIX系统的库函数Win32 API,6.6 用户层的I/O软件,SPOOLing(假脱机)系统SPOOLing技术SPOOLing,Simultaneous Peripheral Operation On Line,也称为虚拟设备技术多道程序设计系统中处理独占设备的一种方法利用假脱机技术可把独占设备转变成具有共享特征的虚拟设备,从而提高设备利用率,6.6 用户层的I/O软件,SPOOLing的组成输入井和输出井输入缓冲区和输出缓冲

24、区输入进程和输出进程井管理程序,6.6 用户层的I/O软件,6.6 用户层的I/O软件,6.6 用户层的I/O软件,SPOOLing系统的特点提高了I/O的速度将独占设备改造为共享设备实现了虚拟设备功能,6.6 用户层的I/O软件,假脱机打印机系统用户进程的打印请求传递给SPOOLing系统,而不是真正将打印机分配给用户进程SPOOLing系统同意为它打印输出, 但并不真正立即把打印机分配给该用户进程, 而只为它做两件事: 由输出进程在输出井中为之申请一个空闲磁盘块区, 并将要打印的数据送入其中; 输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中, 再将该表挂到请求

25、打印队列上。打印机空闲时,输出进程从请求打印队列上取出一个请求打印表,按其中的要求把数据由打印机输出,6.6 用户层的I/O软件,6.6 用户层的I/O软件,举例Windows NT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。,6.6 用户层的I/O软件,守护进程为打印机建立守护进程取消原假脱机管理进程,6.36.6 小结,I/O系统的层次和每一层的主要功能,6.36.6 小结,例,读操作用户进程对已打开文件的文件描述符执行读库函数(系统调用);设备独

26、立性软件检查参数是否正确,若正确,检查高速缓存中有无要读的数据块。若有,从缓冲区直接读至用户区,完成I/O请求;若没有,设备独立性软件将设备的逻辑名转换成物理名,检查对设备操作的合法性,将I/O请求排队,阻塞用户进程等待I/O操作完成;内核启动设备驱动程序,分配存放读出块的缓冲区,准备接收数据,并向设备控制寄存器发送启动命令,启动I/O;设备控制器操作设备,执行数据传输;数据传输完成时,设备产生I/O中断;,6.36.6 小结,CPU响应中断,转入磁盘中断处理程序。中断处理程序检查中断产生的原因和设备的执行状态,若设备有错,向设备驱动程序发信号,检查能否重复执行,如果允许,重发启动设备的命令,

27、再次传输;否则,向上层软件报告错误。若I/O正确完成,将数据传输到指定的用户进程空间,唤醒阻塞进程,从而结束此次I/O请求;当用户进程被再次调动执行时,从I/O系统调用的断点处继续运行。,6.7 缓冲区管理,缓冲的概念缓冲的引入缓和CPU与I/O设备间速度不匹配的矛盾减少对CPU的中断频率,放宽对中断响应时间的限制解决数据粒度不匹配的问题提高CPU和I/O设备之间的并行性,6.7 缓冲区管理,缓冲技术的实现原理当某个进程进行数据输出操作时,先将数据送入缓冲区,当缓冲区满时再将缓冲区的内容送到输出设备上当一个进程完成输入操作时,先将输入设备上的数据送入缓冲区,当缓冲区满时,再由CPU将数据取走在

28、缓冲管理中必须建立缓冲区,有两种设定方式采用硬件方法实现缓冲采用软件缓冲的方式,即从主存空间中划定出一个特殊的内存区域作为缓冲区,6.7 缓冲区管理,常用的缓冲技术有四种单缓冲双缓冲环形缓冲缓冲池,6.7 缓冲区管理,单缓冲当用户进程发出I/O请求时,操作系统在主存的系统空间为之分配一个缓冲区可以实现预读和滞后写,6.7 缓冲区管理,6.7 缓冲区管理,双缓冲首先输入将数据送入BUF1,装满后,转向BUF2可以实现用户数据区缓冲区之间交换数据和缓冲区外设之间交换数据的并行,6.7 缓冲区管理,6.7 缓冲区管理,环形缓冲要真正实现CPU与外设的并行操作,双缓冲技术还不能达到要求,在计算机中都采

29、用多缓冲或缓冲池结构为了便于管理,一般将多缓冲组织成循环缓冲形式,每个缓冲区的大小相同,6.7 缓冲区管理,组成(三类缓冲区)空缓冲区R用于存放数据指针:Nexti已装满数据的缓冲区G数据供进程使用指针:Nextg现行工作缓冲区C当前进程使用的缓冲区指针:Current,6.7 缓冲区管理,缓冲区的使用Getbuf过程计算进程要取数据: 将指针Nextg所指的缓冲区提供给进程使用,用Current指针指向该缓冲区的第一个单元,同时将Nextg移向下一个G缓冲区。输入进程要使用空缓冲区装数据:将指针Nexti所指的缓冲区提供给输入进程使用,同时将Nexti移向下一个R缓冲区。,6.7 缓冲区管理

30、,Releasebuf过程当计算进程把C缓冲区中的数据提取完时,调用该过程释放该缓冲区:将该缓冲区由当前工作缓冲区C改为空缓冲区R。当输入进程将缓冲区装满时:将该缓冲区释放,并改为G缓冲区。,6.7 缓冲区管理,进程同步输入进程和计算进程可并发执行,指针Nexti和指针Nextg将不断地沿顺时针方向移动可能出现两种情况Nexti指针追上Nextg指针(输入速度处理速度):无空缓冲区,输入进程阻塞,称为系统受计算限制。Nextg指针追上Nexti指针(输入速度处理速度):无数据可取,计算进程阻塞,称为系统受I/O限制。,6.7 缓冲区管理,缓冲池问题:循环缓冲仅适用于某特定的I/O进程和计算进程

31、,属于专用缓冲。当系统较大时,会有很多这样的循环缓冲,不仅消耗大量内存,而且利用率也不高解决:公用缓冲池池中缓冲区可供多个进程共享,6.7 缓冲区管理,缓冲池的组成空缓队列emq由空闲缓冲区连接而成用F(emq)指针指向队首,L(emq)指向队尾输入队列inq由装满输入数据的缓冲区连接而成用F(inq)指针指向队首,L(inq)指向队尾输出队列outq由装满输出数据的缓冲区连接而成用F(outq)指针指向队首,L(outq)指向队尾,6.7 缓冲区管理,缓冲区的工作方式收容输入提取输入收容输出提取输出,6.8 磁盘存储器的性能和调度,磁盘性能简述数据的组织和格式磁盘柱面磁道扇区,6.8 磁盘存

32、储器的性能和调度,老式磁盘上,每磁道扇区对于所有柱面都是相同的现代磁盘被划分为环带,外层的环带比内层的环带拥有更多的扇区,具有两个环带的磁盘 该磁盘的一种的物理几何规格 可能的虚拟几何规格,6.8 磁盘存储器的性能和调度,磁盘参数比较,6.8 磁盘存储器的性能和调度,磁盘格式化步骤低级格式化对磁盘进行分区对每个分区分别执行一次高级格式化,6.8 磁盘存储器的性能和调度,低级格式化磁盘使用之前,必须由软件进行低级格式化包含一系列同心的磁道,每个磁道包含若干数目的扇区,扇区间存在短的间隙低格之后磁盘容量减少,减少量取决于:前导码、扇区间隙和ECC的大小以及保留的备用扇区数目,6.8 磁盘存储器的性

33、能和调度,分区在低格之后,要对磁盘进行分区。逻辑上每个分区就象一个独立的磁盘如 Pentium和大多数机器上,0扇区包含主引导记录,其中存放一些引导代码和末尾的分区表分区表给出每个分区的起始扇区和大小为了能从硬盘引导,在分区表中必须有一个分区被标记为活动的,6.8 磁盘存储器的性能和调度,高级格式化一个引导块空闲存储管理(空闲列表或位图)根目录空文件系统将一个代码设置在分区表中,表明该分区用什么文件系统,6.8 磁盘存储器的性能和调度,磁盘的类型固定头磁盘移动头磁盘一次访盘请求 读/写,磁盘地址,内存地址,设备号,柱面号,磁头号,扇区号,源地址/目的地址,6.8 磁盘存储器的性能和调度,磁盘访

34、问时间寻道时间TS把磁臂(磁头)移动到指定磁道上所经历的时间TS=m*n+s (m:常数,n:移动的磁道数,s:磁盘启动时间) 旋转延迟时间Tr指定扇区移动到磁头下面所经历的时间硬盘平均8.3ms,软盘平均50-100ms 数据传输时间Tt把数据从磁盘读出或向磁盘写入数据所经历的时间Tt=b/(r*N) (b:读写字节数 r:磁盘转速 N:一个磁道上的字节数),6.8 磁盘存储器的性能和调度,磁盘调度当多个访盘请求在等待时,采用一定的策略,对这些请求的服务顺序调整安排,旨在降低平均磁盘服务时间,达到公平、高效公平:一个I/O请求在有限时间内满足高效:减少设备机械运动所带来的时间浪费,主要是使磁

35、盘的平均寻道时间最短,6.8 磁盘存储器的性能和调度,例,考虑一个有40个柱面的磁盘,假设读柱面11上数据块的请求到达,当对柱面11的寻道正在进行时,又来了对柱面1, 36, 16, 34, 9, 12 的请求,则让它们进入未完成的请求表,一个柱面对应一个单独的链表,6.8 磁盘存储器的性能和调度,FCFS(先来先服务)算法按请求的先后次序进行服务优点:简单,公平缺点:效率不高,相临两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利上例中,服务次序为:1, 36, 16, 34, 9, 12 ,总共移动111个柱面,6.8 磁盘存储器的性能和调度,最短寻道优先

36、(SSF)算法优先选择距当前磁头最近的访问请求进行服务主要考虑寻道优先优点:改善了磁盘平均服务时间缺点:造成某些访问请求长期等待得不到服务,使用SSF,服务次序为 12,9,16,1,34,36总共需要移动61个柱面,6.8 磁盘存储器的性能和调度,扫描(SCAN)算法也称电梯调度算法选择在当前移动方向上距离磁头最近的访问请求进行服务具体做法:电梯按一个方向移动,直到那个方向没有请求为止既考虑了距离,同时又考虑了方向,6.8 磁盘存储器的性能和调度,使用电梯调度算法,服务次序为 :12,16,34,36,9,1 ,总共需要移动60个柱面,6.8 磁盘存储器的性能和调度,循环扫描(CSCAN)算

37、法也称单向扫描,规定磁头单向移动例如:它对请求者的服务总是每次从柱面号开始,然后移动至最大柱面。遇着访问进行服务。一次完后,磁头再返回号柱面,又重复上述步骤。,6.8 磁盘存储器的性能和调度,6.8 磁盘存储器的性能和调度,使用循环扫描算法,服务次序为 : 12,16,34,36,1,9,总共需要移动68个柱面,6.8 磁盘存储器的性能和调度,N步扫描和FSCAN算法引入目的:避免磁臂粘连N步扫描:将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列,对每个队列的处理用SCAN方法(注意:N的选取)FSCAN算法:两个队列,一是当前请求I/O的磁盘请求队列,二是

38、在扫描期间新出现的所有磁盘请求组成的队列。这样,所有新到达的访问请求本次不予访问,留待下次再服务。,6.8 磁盘存储器的性能和调度,例,假设磁盘访问序列为98, 183, 37, 122, 14, 124, 65, 67,新出现访问序列是45, 7, 30,读写头起始位置为53,磁头当前向磁道号增加的方向移动N步扫描(N=3)访问序列:(98,183,37),( 14,122,124),(67,65,45),(30,7)总移动距离=526FSCAN算法访问序列 (53,65,67,98,122,124,183,37,14)(7,30,45)总移动距离=344,6.8 磁盘存储器的性能和调度,作业,假定一磁盘由100个柱面,编号位099,在完成了磁道43处的请求后,当前正在磁道25处进行请求服务。磁盘请求的柱面按38,6,40,2,20,22,10的次序到达,寻道时每移动一个柱面需要10ms,计算以下算法的总寻道时间。(1)FCFS(2)SSTF(3)SCAN(4)CSCAN,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号