操作系统-第5章-设备管理

上传人:xiao****017 文档编号:16388211 上传时间:2020-10-01 格式:PPT 页数:128 大小:5.47MB
收藏 版权申诉 举报 下载
操作系统-第5章-设备管理_第1页
第1页 / 共128页
操作系统-第5章-设备管理_第2页
第2页 / 共128页
操作系统-第5章-设备管理_第3页
第3页 / 共128页
资源描述:

《操作系统-第5章-设备管理》由会员分享,可在线阅读,更多相关《操作系统-第5章-设备管理(128页珍藏版)》请在装配图网上搜索。

1、第5章,设备管理,专注 成就 未来,内容,I/O软件,4,磁盘存储器的管理,6,第一节 I/0系统 第二节 I/O控制方式 第三节 缓冲管理 第四节 I/O软件 第五节 设备分配 第六节 磁盘存储器的管理,第五章 设备管理,设备管理是指操作系统对除了CPU和内存以外的,所有输入/输出设备的管理,诸如设备控制器、通道、中断控制器等等。,对于设备我们所关心的问题,内存允许多用户作业存在,它们的运行势必涉及到I/O设备。 1、对于设备本身:如何有效利用 2、对于设备和CPU:如何发挥并行工作 3、对于设备和用户:如何方便实用,CPU与I/O的速度差别大,所以尽量使两者交叠运行,减少由于速度差异造成的

2、整体性能开销。,第一节 I/O系统,顾名思义,I/O系统是用于实现数据输入、输出及数据存储的系统。,1、按设备的使用特性分类 a. 存储设备:各种外部存储设备,主要是硬盘; b. 输入/输出设备:又具体可分为输入设备、输出设备和交互式设备 。,一、I/O设备分类,2、按设备的传输速率分类 a. 低速设备:其传输速率仅为每秒钟几个字节至数百个字节。如键盘、鼠标器、语音的输入和输出等设备。 b. 中速设备:其传输速率在每秒钟数千个字节至数十万个字节。如行式打印机、 激光打印机等。 c. 高速设备:其传输速率在数百个千字节至千兆字节。如磁带机、磁盘机、光盘机等。,一、I/O设备分类,一、I/O设备分

3、类,3、按信息交换的单位分类 a、块设备:设备上传送的信息是以块为单位组织的。如:磁盘、光盘等。 特点:有结构;可寻址;I/O采用DMA方式 b、字符设备:设备上传送的信息是以字符为单位组织的。如:键盘、打印机等。 特点:无结构;不可寻址;I/O采用中断驱动。,A B C D E,4、按设备的共享属性分类 a. 独享设备:是指在用户作业的整个运行过程中为其独占的设备,以保证传输信息的连贯性; b. 共享设备:是指允许若干个用户可同时使用的设备; c. 虚拟设备:通过SPOOLING技术将独占设备改造成能为若干个用户共享的设备。,一、I/O设备分类,动画演示什么是SPOOLing技术,已被占用,

4、我就是打印机!,虚拟设备,独占变成了共享,5、按设备所属关系分类 a. 系统设备:系统生成时已登录在系统中的标准设备; b. 用户设备:系统生成时未登录在系统中的非标准设备。,一、I/O设备分类,二、设备与控制器之间的接口,通常,设备并不是直接与CPU进行通信,而是与设备控制器通信,因此,在I/O设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号,各对应一条信号线。,控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。 它是CPU和I/O设备之间的接口,它接收从CPU发来的 命令,并去控制I/O设备工作,以使CPU从繁杂的设备控制事务中解脱出来。 分类: 控制字符设备的

5、控制器 控制块设备的控制器 常在微型机和小型机中做成印刷电路卡的形式,也称为接口卡。,三、设备控制器,声卡,显卡,视频压缩卡,1设备控制器的基本功能 1)接收和识别命令 2)数据交换 3)标识和报告设备的状态 4)地址识别 5)数据缓冲 6)差错控制,三、设备控制器,2设备控制器的组成,目的:是为了建立独立的I/O操作,不仅使数据的传送独立于CPU,而且也希望有关对I/O操作的组织、 管理及其结束处理尽量独立,以保证CPU有更多的时间去进行数据处理;(或者说,是使一些原来由CPU处理的I/O任务转由通道来承担)。 通道又称I/O处理机。 它也是完成内存与外设之间的直接的数据交换。,四、I/O通

6、道,为何要引入通道?,四、I/O通道,工作流程:在设置了通道后, 1)CPU只需向通道发送一条I/O指令。 2)通道在收到该指令后,便从内存中取出本次要执行的通道程序, 3)然后执行该通道程序, 4)仅当通道完成了规定的I/O任务后,才向CPU发中断信号。,采用通道技术后,不仅能实现CPU与通道之间的并行操作,而且通道与通道之间、各通道上连接的外设之间都能实现并行操作。,通道有自己的通道指令,并设有通道控制器和自己的指令执行机构。 只要CPU发出通道启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使通道从内存调出相应的通道指令执行。,四、I/O通道,通道类型,1)字节多路通道 字

7、节多路通道可连接多个慢速外围设备,如打印机。 它以字节为单位交叉地与外设进行数据交换。但一台设备传送一个字节后,立即转去为另一台设备传送一个字节。 模式:主通道+多个子通道,四、I/O通道,2)数组选择通道 它连接磁带、磁盘等快速设备,以块为单位与外设进行数据交换。但在同一时间内,它只能为一台设备服务,直到I/O请求完成,再选择与通道相连的另一台设备。,选择通道,模式:主通道+一个子通道,3)数组多路通道 它是字节(多路)和选择通道技术(数组)的综合,通道所连接的几个设备可并行工作。先选择一台传送一批数据,再选择另一台,即几台设备的通道程序都在执行中。 它相当于多道程序设计技术在通道中的应用。

8、,模式:主通道+多个子通道,数组方式,“瓶颈”问题,单通路I/O系统,解决方案,多通路I/O系统,五、总线系统,总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。 微型计算机是以总线结构来连接各个功能部件的。,1ISA和EISA总线 1)ISA(Industry Standard Architecture)总线 这是为在1984年推出的80286型微机而设计的总线结构。其总线的带宽为8位,最高传输速率为2 Mb/s。 2) EISA(Extended ISA)总线 其带宽为32位,总线

9、的传输速率高达32 Mb/s,同样可以连接12台外部设备。,2局部总线(Local Bus) 所谓局部总线,是指将多媒体卡、高速LAN网卡、高性能图形板等,从ISA总线上卸下来,再通过局部总线控制器直接接到CPU总线上,使之与高速CPU总线相匹配,而打印机、FAX/Modem、CDROM等仍挂在ISA总线上。 在局部总线中较有影响的是VESA总线和PCI总线。,1) VESA(Video Electronic Standard Association)总线 VESA总线的带宽为32位,最高传输速率为132 Mb/s。它在20世纪90年代初被推出时,广泛应用于486微机中。但VESA总线仍存在较

10、严重的缺点,比如,它所能连接的设备数仅为24台,在控制器中无缓冲,故难于适应处理器速度的不断提高,也不能支持后来出现的Pentium微机。,2) PCI(Peripheral Component Interface)总线 随着Pentium的推出,Intel公司分别在1992年和1995年颁布了PCI总线的V1.0和V2.1规范,后者支持64位系统。PCI在CPU和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。在管理层中配有数据缓冲,使PCI最多能支持10种外设,并使高时钟频率的CPU能很好地运行,最大传输速率可达132 Mb/s。PCI既可连接ISA、EISA等传统型总线,又可

11、支持Pentium的64位系统,是基于奔腾等新一代微处理器而发展的总线。,小结,通道,第二节 输入输出系统结构,一、程序I/O控制方式,四、通道控制方式,二、中断I/O控制方式,三、DMA的I/O控制方式,I/O控制方式的演变,循环测试I/O方式 中断处理方式 DMA方式 通道方式,1. 循环I/O测试方式,又称程序直接控制方式,它是一种由用户程序直接控制的输入输出方式。 输入时:进程通过CPU发START命令启动外设;进行状态测试;准备好,CPU读取接口中数据,否则继续测试。 输出时:进程通过CPU发START命令启动外设;进行状态测试;准备好,CPU向接口中输出数据,否则继续测试。,优点:

12、 a.它的控制简单 缺点: a. CPU和外设只能串行工作; b. CPU在同一时间内只能和一台外设交换数据; c. 只适合于与外设速度慢的设备。,循环I/O测试方式的优缺点,如何改进呢? 老问少问? 少问不问?,2、中断方式传送,为了减少CPU测试等待时间和CPU与外设的并行工作能力,引入了中断控制传输方式。 基本思想: 当设备完成I/O操作后,它便以中断请求的方式主动向CPU汇报。因此,CPU一旦启动I/O设备便可转去处理其他程序。 比如: 打印机打印1行需要60ms,在循环测试法中有59.9ms CPU都在循环等待中, 而中断处理的话,则CPU只需要0.1ms来处理中断,而59.9ms可

13、以处理其他事情。,缺点: a. I/O控制寄存器的数据寄存器小,对大量数据传输中断次数较多,每次中断都要进行保存现场信息和恢复现场等操作,耗去CPU大量时间; b. 不适合于高速I/O 设备。 外设将数据送入数据寄存器发出中断请求后,CPU必须有足够的时间将数据取走, 否则可能造成CPU来不及取走数据而造成数据的丢失。,中断处理方式的优缺点,所以:循环I/O测试方式和中断控制方式都只适用于简单的、外设很少的计算机系统。,如何改进呢?,不让CPU参与存取数据,自己做,3、DMA方式,又称存储器直接存取方式; 内存和外设之间开辟直接的数据交换通路,可以成批的交换数据,由DMA控制器完成数据交换。

14、DMA方式除了在传送开始需要CPU做一些初始化和传输结束做一些善后处理工作之外,在整个数据传输过程中,不需要CPU任何干预。 所以:减轻了CPU的负担,并使I/O传输速率大大提高。,DMA控制器的组成,a. 进程要求输入数据,CPU将输入数据的内存地址及个数送入相应寄存器; b. 进程进入等待状态,进程调度程序调度其他进程; c. 在DMA控制器控制下,将数据寄存器的数据不断写入内存; d. 传送完毕,DMA控制器向CPU发出中断请求,CPU转中断处理程序; e. 中断处理程序结束,CPU返回被中断的进程继续执行。,DMA方式的详细数据传输过程,图示说明:DMA方式数据传输过程,a. 进程要求

15、输入数据,CPU将输入数据的内存地址及字节个数送入相应寄存器;再把状态寄存器的允许中断位置为1,从而启动设备准备传输,b.CPU将总线让给DMA控制器,在DMA控制器进行数据传输期间,CPU不再使用总线。(“窃取”总线控制权),0000-1023,1KB,c.进程进入等待状态,等待I/O的 完成。,等待中,d.在DMA控制器控制下,将数据寄存器的数据不断写入内存;,e:传送完毕,DMA控制器向CPU发出中断请求,CPU转中断处理程序;,f:中断处理程序结束,CPU返回被中断的进程继续执行。,总线,DMA特点,1、负责在高速外围设备与内存之间成批量的数据传输工作,但是不对数据作再加工处理,I/O

16、操作类型简单; 2、需要使用专门的DMA控制器:控制、状态寄存器、传送字数寄存器、内存地址寄存器和数据缓冲寄存器。 3、采用“偷窃总线控制权”,不用CPU干预 4、每传送一个数据并不产生中断,只有DMA中的传送字数计数器减1到0时,即本次DMA传送的数据全部完毕时,才产生中断。,优点: 快速,大块传输数据。 缺点: DMA只能完成简单的数据传送、计数、内存地址加1或减1等操作,不能完成更复杂的操作请求。 且与CPU无法并行(偷窃总线),这样对大、中型计算机系统不合适。,DMA处理方式的优缺点,1I/O通道控制方式的引入 中断:字节为单位 DMA:一个数据块为单位 多个数据块呢? 而当我们需要一

17、次去读多个数据块且将它们分别传送到不同的内存区域,则须由CPU分别发出多条I/O指令及进行多次中断处理才能完成。 解决方案?,4I/O通道控制方式,通道,I/O通道方式 1)它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 2)又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。 当CPU只需向I/O通道发送一条I/O指令,(所要执行的通道程序的首址和要访问的I/O设备); 通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。,2通道程序 通道程序是由一系列通道指令

18、(或称为通道命令)所构成的。通道指令与一般的机器指令不同,在它的每条指令中都包含下列诸信息: (1) 操作码。规定了指令所执行的操作,如读、写、控制等操作。 (2) 内存地址。内存地址标明字符送入内存(读操作)和从内存取出(写操作)时的内存首址。 (3) 计数。该信息表示本条指令所要读(或写)数据的字节数。,(4) 通道程序结束位P。该位用于表示通道程序是否结束。P=1表示本条指令是通道程序的最后一条指令。 (5) 记录结束标志R。R=0表示本通道指令与下一条指令所处理的数据是同属于一个记录;R=1表示这是处理某记录的最后一条指令。,第三节 缓冲技术,一、缓冲的引入 可能性:中断技术和通道技术

19、的引入,提供了CPU、通道和I/O设备之间的并行操作的可能性 并行程度:但由于计算机外设的发展会产生通道不足而产生的“瓶颈”现象,使并行程度受到限制,因此引入了缓冲技术。,引入缓冲区的目的:,1、改善CPU和I/O设备之间速度不匹配的情况; 2、可以减少I/O设备对CPU的中断次数及放宽对CPU的中断响应时间要求; eg:如果I/O操作每传输1个字节就产生一次中断,那么系统花费在I/O操作上的时间就比较多,我们可以 3、提高CPU和I/O设备之间的并行性,二、缓冲区设置,硬缓冲: 在设备中设置缓冲区,由硬件实现;比如:寄存器 软缓冲: 在内存中开辟一个空间,用作缓冲区(程序处理) 好处:易于改

20、变缓冲区的大小和数量(灵活) 缺点:占据内存空间,软缓冲 如何缓冲呢?,1、单缓冲 当用户进程发出I/O请求时,操作系统在主存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写,三、缓冲区管理,缺点? 读写不能同时!,三、缓冲区管理,2、双缓冲 可以实现用户数据区缓冲区之间交换数据和缓冲区外设之间交换数据的并行,也就是读写可以同时。,缺点? 读写速度差距较大时,出现什么问题?,三、缓冲区管理,(1)多个缓冲区 在循环缓冲中含有多个缓冲区,每个缓冲区的大小相同。缓冲区可分成三种类型: 空缓冲区R。用于存放输入数据; 已装满数据的缓冲区G。其中的数据提供给计算进程使用; 现行工作缓冲区C。这是

21、计算进程正在使用的缓冲区。,3、循环缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。,(2) 多个指针 对用于输入的多缓冲,应设置这样三个指针: Nextg:指示计算进程下一个可用的缓冲区G; Nexti:指示输入进程下次可用的空缓冲区R; Current:指示计算进程正在使用的缓冲区单元。开始时,它指向第一个单元,随计算进程的使用,它将逐次地指向第2个单元,第3、4等单元,直至缓冲区的最后一个含数据的单元。,三、缓冲区管理,循环缓冲,某进程的专用缓冲 当有多个进程时,会有多个这样的循环缓冲; 占据大量内存,而且利用率不高。 如何改进? 解决方案? 集中

22、起来,共用!,4、(公用)缓冲池,a、缓冲池的引入 把系统内的缓冲区统一管理起来,变专用为通用。 b、缓冲池的结构 由若干个大小相同的缓冲区组成。 当某进程需要使用缓冲区时,提出申请,由管理程序分配给它,用完后释放缓冲区。这样可用少量的缓冲区为更多的进程服务。,1缓冲池的组成 对于既可用于输入又可用于输出的公用缓冲池,其中至少应含有以下三种类型的缓冲区: 空(闲)缓冲区; 装满输入数据的缓冲区; 装满输出数据的缓冲区。,三、缓冲区管理,为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列: (1) 空缓冲队列emq。这是由空缓冲区所链成的队列。其队首指针F(emq)和队尾

23、指针L(emq)分别指向该队列的首缓冲区和尾缓冲区。 (2) 输入队列inq。这是由装满输入数据的缓冲区所链成的队列。其队首指针F(inq)和队尾指针L(inq)分别指向该队列的首缓冲区和尾缓冲区。 (3) 输出队列outq。这是由装满输出数据的缓冲区所链成的队列。其队首指针F(outq)和队尾指针L(outq)分别指向该队列的首缓冲区和尾缓冲区。 除了上述三个队列外,还应具有四种工作缓冲区: 用于收容输入数据的工作缓冲区; 用于提取输入数据的工作缓冲区; 用于收容输出数据的工作缓冲区; 用于提取输出数据的工作缓冲区。,三、缓冲区管理,三、缓冲区管理,缓冲区的工作方式,第四节 设备分配程序,前

24、面介绍了I/O数据传送控制方式及与其密切相关的通道技术和缓冲技术。但是讨论这些问题时,已经做了一个假设: 即每一个准备传送数据的进程已经申请到了它所需要的外围设备、控制器和通道。 进程如何得到这些数据传输所需要的通路及设备呢?,5.5.1设备分配中的数据结构 1设备控制表(DCT) 系统为每一个设备都配置了一张设备控制表,用于记录本设备的情况。,设备控制表中,除了有用于指示设备类型的字段type和设备标识字段deviceid外,还应含有下列字段: (1) 设备队列队首指针。凡因请求本设备而未得到满足的进程,其PCB都应按照一定的策略排成一个队列,称该队列为设备请求队列或简称设备队列。其队首指针

25、指向队首PCB。在有的系统中还设置了队尾指针。 (2) 设备状态。当设备自身正处于使用状态时,应将设备的忙/闲标志置“1”。若与该设备相连接的控制器或通道正忙,也不能启动该设备,此时则应将设备的等待标志置“1”。,(3) 与设备连接的控制器表指针。该指针指向该设备所连接的控制器的控制表。在设备到主机之间具有多条通路的情况下,一个设备将与多个控制器相连接。此时,在DCT中还应设置多个控制器表指针。 (4) 重复执行次数。由于外部设备在传送数据时,较易发生数据传送错误,因而在许多系统中,如果发生传送错误,并不立即认为传送失败,而是令它重新传送,并由系统规定设备在工作中发生错误时应重复执行的次数。在

26、重复执行时,若能恢复正常传送,则仍认为传送成功。仅当屡次失败,致使重复执行次数达到规定值而传送仍不成功时,才认为传送失败。,2控制器控制表、通道控制表和系统设备表 (1) 控制器控制表(COCT)。系统为每一个控制器都设置了一张用于记录本控制器情况的控制器控制表,如图5-21(a)所示。 (2) 通道控制表(CHCT)。每个通道都配有一张通道控制表,如图5-21(b)所示。 (3) 系统设备表(SDT)。这是系统范围的数据结构,其中记录了系统中全部设备的情况。每个设备占一个表目,其中包括有设备类型、设备标识符、设备控制表及设备驱动程序的入口等项,如图5-21(c)所示。,COCT、CHCT和S

27、DT,当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换,二、设备分配与回收,1、设备分配的原则,a. 充分发挥设备的使用效率,避免不合理的分配方法造成进程死锁; b. 用户面对的是逻辑设备设备的独立性。,逻辑设备和物理设备,为了实现用户程序与物理设备的无关性,系统规定,在用户程序中不要直接使用物理设备名(或设备的物理地址),而只能使用逻辑设备名。 优点: 某具体物理设备发生意外,用户程序无需修改; 能适应多用户进程的需要,2、独享、共享、虚拟分配技术,独享(独立方式) 即一个设备分配给某作业后便由该作业独占,直到该作业

28、完成并释放后,其它作业方能使用。大多数低度速/设备都属于独享设备。 共享方式 共享分配方式:如磁盘、磁鼓之类的外存储器,既具有很能大的存储容量,其定位操作的时间又短,因此,它们可为若干作业所共享。 由于同时有多个进程同时访问,且访问频繁,就会影响整个设备使用效率,影响系统效率。因此要考虑多个访问请求到达时服务的顺序,使平均服务时间越短越好。 虚拟分配 把一台设备虚拟为几台“虚拟”的设备。例如:为了提高设备利用率引入了脱机输入输出或采用技术,变一台为“多台设备”,虚拟设备,什么是SPOOLing 将一台物理I/O设备虚拟为多台逻辑设备,从而允许多个用户共享使用一台物理设备;即利用高速的共享设备(

29、磁盘)实现低速独占设备的共享使用的技术。 又称为“假脱机操作”/“虚拟设备技术”,“后台”工作方式:可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。,假脱机的原理,SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲,在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲,在以后适当的时候输出到外设。 应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实

30、际的外设进行I/O操作。,SPOOLing系统的特点,提高了I/O的速度,缓和了 CPU与I/O设备的速度矛盾; 将独占设备改造为共享设备:利用高速共享设备; 实现了虚拟设备功能:用户都感到独占了一台设备。,SPOOLing和缓冲的区别,目的不同: SPOOLing解决的是独占I/O设备如何共享使用的问题 缓冲解决的是I/O设备和CPU的速度不匹配的问题。 数据存放的位置 SPOOLing在磁盘上开辟输入井和输出井 缓冲在内存中设置缓冲区 管理 SPOOLing由井管理程序负责 缓冲由缓冲区管理软件负责,3、设备分配算法,a. 先请求先分配,b. 优先级高者先分配,即按进程发出I/O请求命令的

31、先后顺序将其排成队列。,即按进程的优先级组成队列,从而保证设备空闲时,从队首取下优先级最高的进程。同等优先级按先请求先分配的原则。,一. 设备管理中的数据结构,在多通路的系统中,为了满足一个请求,不仅仅是分配一个设备的问题,还应分配相应的控制器和通道,以确保与/设备之间能进行通信,在存储器与/设备之间能进行数据的直接存取。 设备管理程序对/设备进行分配和控制是借助于一些表格;表格中记录了对/设备控制所需之信息。它们是设备管理程序实现管理功能的数据结构。,数据结构,控制所需之信息。它们是设备管理程序实现管理功能的数据结构。如下表:,设备分配中的主要数据结构,系统设备表,设备控制表,控制器表,通道

32、表,2、设备分配流程,A、分配设备 B、分配控制器 C、分配通道,1 什么是与设备无关性 设备无关性,即不能因为设备的忙碌、故障或更换而影响程序的运行, 向用户屏蔽物理设备, 呈现给用户的一个操作简单的逻辑设备。 系统中每一类设备规定一个类型号,用户使用此类型号提出使用设备申请。,与设备无关性(独立性),与设备无关性又叫设备独立性,它有以下两种含义: (1)独立于同类设备中的具体台号。 (2)独立于设备类型,这意味着程序不对具体的物理设备进行操作,而是对“虚设备”进行操作。 虚设备:又叫“逻辑设备”,是对物理设备的抽象,它不代表哪一类或某一台设备。 程序只对逻辑设备进行I/O操作,系统实际操作

33、具体使用哪一台物理设备和哪个设备驱动程序,需要由操作系统中的设备管理部分建立“逻辑设备”和物理设备的对应关系。,与设备无关性(独立性),5.6 磁盘存储器的管理,磁盘性能简述 一、磁盘的组织结构,5.6.1磁盘性能简述,5.6.1磁盘性能简述,几个常用术语,柱面:一个硬盘由几个盘片组成,所有盘片上相同半径的磁道组合在一起,叫一个柱面。,磁道:每个盘片的每一面要划分成若干形如同心圆的磁道,这些磁道就是磁头读写数据的路径,扇区:每一个磁道又分为许多称之为扇区的小区段,每个磁道上的扇区数是一样的。每扇区存储容量为512字节。,5.6.1磁盘性能简述,磁盘上存储的物理记录块数目是由扇区数、磁道数以及磁

34、盘面数所决定的。 例如,一个10GB容量的磁盘:有8个双面可存储盘片,共16个存储面(盘面),每面有16383个磁道(也称柱面),每个磁道63个扇区。 一个物理记录存储在一个扇区上。,二、磁盘的低级格式化(物理格式化):,5.6.1磁盘性能简述,低级格式化:将空白的磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。 1)低级格式化是高级格式化之前的一件工作,它只能够在DOS环境来完成。 2)而且低级格式化只能针对一块硬盘而不能支持单独的某一个分区。 3)每块硬盘在出厂时,已由硬盘生产商进行低级格式化,因此通常使用者无需再进行低级格式化

35、操作。,5.6.1磁盘性能简述,四、磁盘的类型,5.6.1磁盘性能简述,1) 固定头磁盘,2) 移动头磁盘,这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。 通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。,每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。 1)移动磁头仅能以串行方式读/写,致使其I/O速度较慢; 2)但由于其结构简单,故仍广泛应用于中小型磁盘设备中。,五、磁盘访问时间 包括什么时间?,5.6.1磁盘性能简述,1) 寻道时间Ts: 这是指把磁

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

37、度为300 r/min或600 r/min,这样,平均Tr为50100 ms。,3) 传输时间Tt: 把数据从磁盘读出或向磁盘写入数据所经历的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关: 其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数 当一次读/写的字节数相当于半条磁道上的字节数时,Tt与Tr相同?,5.6.1磁盘性能简述,访问时间Ta表示为: 寻道时间+旋转延迟时间+数据传输时间,由上式可以看出,在访问时间中,寻道时间和旋转延迟时间基本上都与所读/写数据的多少无关,而且它通常占据了访问时间中的大头。 例如,我们假定寻道时间和旋转延迟时间平均为20 ms,而磁盘的传输速率为1

38、0 MB/s,如果要传输10 KB的数据,此时总的访问时间为21 ms,可见传输时间所占比例是非常小的。 当传输100 KB数据时,其访问时间也只是30 ms,即当传输的数据量增大10倍时,访问时间只增加约50%。目前磁盘的传输速率已达80 MB/s以上,数据传输时间所占的比例更低。 可见,适当地集中数据(不要太零散)传输,将有利于提高传输效率。,5.6.2 磁盘调度算法,1. 先来先服务调度算法,FCFS调度算法,有什么问题?,请求队列:55 58 39 18 90 160 150 38 184,5.6.2 磁盘调度算法,SSTF调度算法,2. 最短寻道时间优先调度算法SSTF,有什么问题?

39、,请求队列:55 58 39 18 90 160 150 38 184,SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿” 现象。 因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。 新算法:SCAN算法,即可防止老进程出现“饥饿”现象。,进程“饥饿”现象,5.6.2 磁盘调度算法,5.6.2 磁盘调度算法,SCAN调度算法示例,3、SCAN调度算法(电梯算法),有什么问题?,请求队列:55 58 39 18 90 160 150 38 184,5.6.2 磁盘调度算法,4. 循环扫描(CSCAN)算法,C

40、SCAN调度算法示例,这三种有一个共同的问题?,请求队列:55 58 39 18 90 160 150 38 184,5.6.2 磁盘调度算法,“磁臂粘着”现象:,在SSTF、 SCAN及CSCAN几种调度算法中,都可能会出现磁臂停留在某处不动的情况 例如,有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。 我们把这一现象称为“磁臂粘着”。在高密度磁盘上容易出现此情况。 解决方法:NStepSCAN和FSCAN调度算法,NStepSCAN FSCAN,N很大时? N=1时?,磁盘高速缓存的形式 是指利用内存中的存储空间,来暂存从

41、磁盘中读出的一系列盘块中的信息。 因此,这里的高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。 高速缓存在内存中可分成两种形式。 第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响; 第二种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。 高速缓存的大小不再是固定的: 当磁盘I/O的频繁程度较高时,该缓冲池可能包含更多的内存空间; 而在应用程序运行得较多时,该缓冲池可能只剩下较少的内存空间。,5.6.3 磁盘高速缓存(Disk Cache),2数据交付方式 :是指将磁盘高速缓存中的数据传

42、送给请求者进程。 当有一进程请求访问某个盘块中的数据时, 先去查看磁盘高速缓冲器,看其中是否存在进程所需访问的盘块数据的拷贝。 若有其拷贝,便直接从高速缓存中提取数据交付给请求者进程,这样,就避免了访盘操作,从而使本次访问速度提高46个数量级; 否则,应先从磁盘中将所要访问的数据读入并交付给请求者进程,同时也将数据送高速缓存。 当以后又需要访问该盘块的数据时,便可直接从高速缓存中提取。,系统可以采取两种方式, 将数据交付给请求进程: (1) 数据交付。这是直接将高速缓存中的数据,传送到请求者进程的内存工作区中。 (2) 指针交付。只将指向高速缓存中某区域的指针, 交付给请求者进程。 后一种方式

43、由于所传送的数据量少,因而节省了数据从磁盘高速缓存存储空间到进程的内存工作区的时间,2. 数据交付方式,由于请求调页中的联想存储器与高速缓存(磁盘I/O中)的工作情况不同,因而使得在置换算法中所应考虑的问题也有所差异。 因此,现在不少系统在设计其高速缓存的置换算法时,除了考虑到最近最久未使用这一原则外,还考虑了以下几点: (1) 访问频率。 (2) 可预见性。 (3) 数据的一致性。,3. 置换算法,基于上述考虑,在有的系统中便将高速缓存中的所有盘块数据拉成一条LRU链。 1)对于那些会严重影响到数据一致性的盘块数据和很久都可能不再使用的盘块数据: 都放在LRU链的头部,使它们能被优先写回磁盘

44、,以减少发生数据不一致性的概率,或者可以尽早地腾出高速缓存的空间。 2)对于那些可能在不久之后便要再使用的盘块数据 应挂在LRU链的尾部,以便在不久以后需要时,只要该数据块尚未从链中移至链首而被写回磁盘,便可直接到高速缓存中(即LRU链中)去找到它们。,在UNIX系统中专门增设了一个修改程序,使之在后台运行 该程序周期性地调用一个系统调用SYNC。该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁盘。 一般是把两次调用SYNC的时间间隔定为30s。这样,因系统故障所造成的工作损失不会超过30s的劳动量。 而在MS-DOS中所采用的方法是: 只要高速缓存中的某盘块数据被修改,便立

45、即将它写回磁盘,并将这种高速缓存称为“写穿透、高速缓存”(write-through cache)。MS-DOS所采用的写回方式,几乎不会造成数据的丢失, 但须频繁地启动磁盘。,4. 周期性地写回磁盘(修改的数据长时间未写回磁盘,有风险),1.提前读(Read-Ahead) 2. 延迟写 3. 优化物理块的分布 4. 虚拟盘,5.6.4 提高磁盘I/O速度的其它方法,5.6.5廉价磁盘冗余阵列 1并行交叉存取 为了提高对磁盘的访问速度,已把在大、中型机中应用的交叉存取(Interleave)技术应用到了磁盘存储系统中。在该系统中,有多台磁盘驱动器,系统将每一盘块中的数据分为若干个子盘块数据,再

46、把每一个子盘块的数据分别存储到各个不同磁盘中的相同位置上。,磁盘并行交叉存取方式,2RAID的分级 RAID在刚被推出时,是分成6级的,即RAID 0级至RAID 5级,后来又增加了RAID 6级和RAID 7级。,RAID0,RAID1,RAID0+1,RAID3,RAID4,RAID5,RAID6,复习,设备分类:从属关系、数据组织方式、资源分配 管理目标:使用效率、方便统一的界面 功能:设备分配、缓冲区管理、实际I/O操作 I/O控制方式:循环测试、中断处理、DMA(原理)、通道(原理、分类、工作方式),缓冲:分类(硬、软;单、双、多;专用、缓冲池) 设备分配策略:逻辑设备、物理设备;独

47、占、共享、虚拟方式(SPOOLing) 设备分配算法:先来先服务、优先级高优先 分配数据结构:四张表格(名称、用处) 分配流程:设备、控制器、通道,名词解释:1、通道(西交大1999)2、虚拟设备、虚拟技术(南开1999)3、设备独立性、虚拟设备(北理工2000)4、SPOOLing技术(南开2000),通道:实质为通道处理机,主要是为了内存和外设进行高速有效的数据传输,并且实现了与CPU的并行工作。,虚拟设备:为了实现将独享设备变为共享设备,从而允许多个用户共享使用一台物理设备;即利用高速的共享设备(磁盘)实现低速独占设备的共享使用的技术。 而磁盘中使用这种技术的空间称为虚拟设备,设备的独立

48、性:指对于每个用户,设备都是独立为他而存在的,也就是说用户面对的是逻辑设备,将一台物理I/O设备虚拟为多台逻辑设备,从而允许多个用户共享使用一台物理设备;即利用高速的共享设备(磁盘)实现低速独占设备的共享使用的技术。,选择,1、缓冲技术的缓冲池在中 A 内存 B 外存 C ROM D 寄存器 2、如果I/O所花费的时间比CPU处理时间短的多,则缓冲区 A最有效 B几乎无效 C均衡 D以上都不是 3、CPU输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采用 A并行技术 B通道技术 C缓冲技术 D虚存技术,6、按分类可将设备分为块设备和字符设备 A从属关系 B操作特征 C共享属性 D信

49、息交换单位 7、算法是设备分配常用的一种算法 A短作业优先 B最佳适应 C先来先服务 D首次适应,12、用作连接大量的低速或中速I/O设备 A数据选择通道 B字节多路通道 C成组多路通道 13、如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是 A程序查询 B中断方式 C DMA方式 D无条件存取方式,填空,1、为实现CPU与外部设备的并行工作,系统引入了_硬件机制。(北大1997) 2、在进行设备分配时所需要的数据表格主要有_、_、_和_等。(中科院1999) 3、设备与内存之间的数据传输控制方式有_、_、_和DMA方式,其中_方式占用CPU时间最短。(大连理工199

50、9),4、为了记录设备的分配情况,操作系统应设置一张_和三个控制表:设备控制表、_、_。(西电1999),计算,1、一个具有40个柱面的磁盘,现在正在处理柱面11上的I/O请求。这时又顺序到达新的请求,涉及的磁道是1、36、16、34、9、12。 分别采用先来先服务、最短查找时间优先和电梯调度算法,试问它们各需要滑过多少柱面?,简答题 1.什么是缓冲?为什么要引入缓冲? 2.什么是虚拟设备?为什么要在操作系统中引入虚拟设备? 3.简述设备分配的过程。(矿大2000) 4.DMA、中断、通道方式有什么不同? 5.什么是缓冲池?设计一个数据结构来管理缓冲池。,假定1个磁盘组有100个柱面(磁道),每个柱面上有8个磁头,每个盘面被划分为8个扇区。现在有一个含6400个记录的文件,记录大小与扇区尺寸相同,编号从0开始,该文件从0柱面、0磁头、0扇区顺序存放。 试问: 该文件的第3680个记录应该存放在磁盘的哪个位置? 第78柱面的第6磁头第6扇区存放该文件的第几个记录?,计算,只要功夫深,铁棒磨成针,Thank You !,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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