第五章计算机操作系统设备管理课件.ppt

上传人:小飞机 文档编号:1473751 上传时间:2022-11-29 格式:PPT 页数:121 大小:2.07MB
返回 下载 相关 举报
第五章计算机操作系统设备管理课件.ppt_第1页
第1页 / 共121页
第五章计算机操作系统设备管理课件.ppt_第2页
第2页 / 共121页
第五章计算机操作系统设备管理课件.ppt_第3页
第3页 / 共121页
第五章计算机操作系统设备管理课件.ppt_第4页
第4页 / 共121页
第五章计算机操作系统设备管理课件.ppt_第5页
第5页 / 共121页
点击查看更多>>
资源描述

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

1、2022/11/29,1,学院: 计算机与信息技术学院教师: 刘贤梅,第五章 设备管理,2022/11/29,2,内容概述,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理,I/O系统包括用于实现数据输入、输出、存储功能的设备和相应的控制器,设备管理的基本任务是完成用户提出的I/O请求,提高I/O速率以及改善I/O的利用率。设备管理的主要功能有缓冲区管理、设备分配、磁盘管理、虚拟设备及实现设备独立性。,5.4 I/O软件 5.5 设备分配 5.6 磁盘存储器管理,2022/11/29,3,5.1 I/O系统,5.1.1 I/O设备5.1.2 设备控制器5.1.3 I/O通道5.1.

2、4 总线系统,2022/11/29,4,5.1.1 I/O设备,1.按设备的使用特性分类存储设备 磁带、磁盘、光盘等。输入/输出设备键盘、鼠标、扫描仪、视频摄像、传感器等。,2022/11/29,5,2.按传输速率分类低速设备 每秒几个字节至数百字节。键盘、鼠标、语音输入输出设备等。中速设备每秒数千至数万字节。行式打印机、激光打印机等。高速设备每秒数百K至数十M字节。磁盘机、磁带机、光盘机等。,2022/11/29,6,3.按信息交换的单位分类块设备信息的存取以数据块为单位,有结构设备。基本特征是其传输速率较高,通常每秒钟为几兆位,可寻址,即对它可随机地读/写任一块。例:磁盘字符设备基本单位是

3、字符,无结构设备。基本特征是其传输速率较低,通常每秒钟为几个字节到数千字节,不可寻址。例:交互式终端、打印机,2022/11/29,7,4.按设备的共享属性分类独占设备(临界资源 )如打印机共享设备 可供多个多个进程同时访问,如磁盘。共享设备必须是可寻址的和可随机访问的设备。虚拟设备通过虚拟技术将一台独占设备变换为若干个逻辑设备,供若干个进程同时使用。,2022/11/29,8,5.1 I/O系统,5.1.1 I/O设备5.1.2 设备控制器5.1.3 I/O通道5.1.4 总线系统,2022/11/29,9,5.1.2 设备控制器,1.设备控制器概述设备控制器是CPU与I/O设备之间的硬件接

4、口,常做成印刷电路卡形式,也称接口卡。 接收从CPU发来的命令,并控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换,减轻CPU的负担。,2022/11/29,10,2.设备控制器的组成设备控制器与处理机的接口该接口用于实现设备控制器与CPU之间的通信。在该接口中有三类信号线:数据线、地址线、控制线。设备控制器与设备的接口在一个设备控制器上,可以连接一台或多台设备(一个或多个设备接口),一个接口连接一台设备,在每个接口中都有数据、控制和状态三种类型的信号。 I/O逻辑控制器对设备的控制通过I/O逻辑实现的。包括对收到命令和地址进行译码。,2022/11/29,11,图5-2 设备

5、控制器的组成,2022/11/29,12,5.1 I/O系统,5.1.1 I/O设备5.1.2 设备控制器5.1.3 I/O通道5.1.4 总线系统,2022/11/29,13,5.1.3 I/O通道,1.I/O通道设备的引入是一种特殊处理机,专门负责输入/输出工作,具有执行I/O指令的能力。主要目的是为了建立独立的I/O操作,使有关对I/O操作的组织、管理及其结束处理也独立于CPU。CPU向I/O通道发送I/O命令,由通道执行程序。通道与一般处理机的区别指令类型单一,局限于与I/O操作有关命令。没有独立的内存,通道与CPU共享内存。,2022/11/29,14,图5-3 字节多路通道的工作原

6、理,2.通道类型(1)字节多路通道一个主通道连接多个子通道,以时间片轮转方式共享主通道。每个子通道每次只传送一个字节,连接中低速设备。,2022/11/29,15,(2)数组选择通道(Block Selector Channel)(1)不适合高速设备。以数组方式工作,高速传输数据。可以连接多台高速设备。每次只有一台设备进行数据传送,形成独占,如果它不传数据,别的设备也传不了。通道利用率较低。,2022/11/29,16,(3)数组多路通道(Block Multiplexor Channel)(2)有独占性。将数组选择通道传输速率高和字节多路通道分时并行操作的优点相结合而形成的一种新通道。其数据

7、传送是按数组方式。采用分时并行传送多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。,2022/11/29,17,图5-5 多通路I/O系统,2022/11/29,18,5.1 I/O系统,5.1.1 I/O设备5.1.2 设备控制器5.1.3 I/O通道5.1.4 总线系统,2022/11/29,19,5.1.4 总线系统,图5-6 总线型I/O系统结构,在计算机系统中的各部件,如CPU、存储器以及各种I/O设备之间都是通过总线来联系。,2022/11/29,20,1.ISA(Industry Standard Architecture)总线 这是为了1

8、984年推出的80286型微机而设计的总线结构。 其总线的带宽为8位,最高传输速率为2Mb/s。之后不久又推出了16位的(EISA)总线,其最高传输速率为8Mb/s,后又升至16 Mb/s,能连接12台设备。2.EISA(Extended ISA)总线 到80年代末期,ISA总线已难于满足带宽和传输速率的要求,于是人们又开发出扩展ISA(EISA)总线,其带宽为32位,总线的传输速率高达32Mb/s,同样可以连接12台外部设备。,2022/11/29,21,3.VESA(Video Electronic Standard Association)总线 以ISA为基础的局部总线,带宽为32位,工

9、作频率为33MHz,最高传输速率为132Mb/s,为486设计的。4.PCI(Peripheral Component Interface)总线 局部总线,最大传输速率为132Mb/s,既可以连接ISA、EISA等传统型总线,又可支持Pentium的64位系统。,2022/11/29,22,内容概述,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件5.5 设备分配5.6 磁盘存储器管理,2022/11/29,23,5.2 I/O控制方式,5.2.1 程序I/O方式5.2.2 中断驱动I/O方式5.2.3 直接存储器访问DMA I/O控制方式5.2.4 I/O通道

10、控制方式,设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送。I/O控制方式主要有四种:程序I/O方式、中断驱动I/O方式、直接存储访问DMA I/O控制方式和I/O通道控制方式。,2022/11/29,24,5.2.1 程序I/O方式,程序I/O控制方式(“忙等待”方式):在一个设备的操作没有完成时,控制程序一直检测设备的状态,直到该操作完成,才能进行下一个操作。CPU通过I/O测试指令测试设备接口中的状态位,当为“忙”时则一直测试,当为“闲”时,可进行数据传送,每次传送一个字符。CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中。外设不能合理使用,也无法支持多道程

11、序。CPU的高速性和I/O设备的低速性。,2022/11/29,25,图5-7 程序I/O方式的流程,2022/11/29,26,5.2 I/O控制方式,5.2.1 程序I/O方式5.2.2 中断驱动I/O方式5.2.3 直接存储器访问DMA I/O控制方式5.2.4 I/O通道控制方式,2022/11/29,27,5.2.2 中断驱动I/O控制方式,中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。中断驱动方式:当某进程要启动某个I/O设备工

12、作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器按命令要求去控制指定的I/O设备,完成后,通过中断向CPU发送一中断信号。在I/O设备输入数据的过程中,无须CPU干预。每次传送一个字符。,2022/11/29,28,在I/O中断方式下,数据的输入(或输出)步骤如下:1、要求输入数据的进程把一个启动命令和允许中断位“1”写入相应设备的控制状态寄存器中,从而启动了该设备。2、该进程因等待输入的完成进入睡眠状态。3、当输入完成后,输入设备向CPU发出完成中断请求信号。4、处理机响应中断,处理该中断,并唤醒等待输入完成的进程。5、在以后的某个时期,该程序

13、被调度到后,继续运行。,2022/11/29,29,图5-7 中断驱动方式的流程,2022/11/29,30,5.2 I/O控制方式,5.2.1 程序I/O方式5.2.2 中断驱动I/O方式5.2.3 直接存储器访问DMA I/O控制方式5.2.4 I/O通道控制方式,2022/11/29,31,5.2.3 直接存储器访问DMA I/O控制方式,1.DMA(Direct Memory Access)控制方式的引入,中断驱动I/O控制方式:以字节为单位的。每完成一个字节的I/O,控制器便向CPU发一中断,请求CPU中断处理。例如,为了从磁盘中读出1KB的数据块,需要中断1K次CPU。 直接存储器

14、存取控制:是指对I/O设备的控制由DMA控制器完成,在DMA控制器的作用下,设备和主存之间可以成批地进行数据交换,而不用CPU的干涉。,2022/11/29,32,图5-7 DMA方式的流程,2022/11/29,33,图5-8 DMA控制器的组成,2.DMA控制器的组成主机与DMA控制器的接口DMA控制器与块设备的接口I/O控制逻辑,2022/11/29,34,为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制器中设置如下四类寄存器: (1)命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。 (2)内存地址寄存器MAR。在输入时,它存放把数据从

15、设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。 (3)数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。 (4)数据计数器DC。存放本次CPU要读或写的字(节)数。,2022/11/29,35,3.DMA工作过程,图5-9 DMA方式的工作流程,2022/11/29,36,4.直接存储器存取控制方式的步骤当进程要求设备输入一批数据时,CPU将设备存放输入数据的内存始址以及要传送的字节数分别送入DMA控制器中的地址寄存器和传送字节计数器;另外,还要将中断位和启动位置为1,以启动设备开始进行数据输入并允许中断。发出数据要求的进程进入等待状态,进程调度程序调度其他

16、进程占据CPU。输入设备不断地挪用CPU工作周期,将数据寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。DMA控制器在传送字节数完成时,通过中断请求线发出中断信号,CPU收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并返回被中断的程序。在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存始址取出数据做进一步处理。,2022/11/29,37,5.2 I/O控制方式,5.2.1 程序I/O方式5.2.2 中断驱动I/O方式5.2.3 直接存储器访问DMA I/O控制方式5.2.4 I/O通道控制方式,2022/11/29,38,5.2.4 I/O通道控

17、制方式,通道控制方式的概念 是一种以内存为中心,是设备与内存直接交换数据的控制方式。CPU只需要发出启动指令,指出通道相应的操作和I/O设备,该指令就可以启动通道并使该通道从内存中调出相应的通道指令执行。,2022/11/29,39,1.I/O通道控制方式的引入 与DMA类似,是以内存为中心的数据交换方式。它可进一步减少CPU的干预,即把对一个数据块的读(写)为单位的干预,减少为对一组数据块的读(写)及有关的控制和管理为单位的干预。一个通道控制多台设备。CPU仅在I/O操作的开始和结束时花费少量时间处理与I/O有关的工作。实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资

18、源利用率。,5.2.4 I/O通道控制方式,2022/11/29,40,2.通道程序 与设备控制器共同实现对I/O设备的控制的。指令中含:(1)操作码:规定指令所执行的操作,如读、写、控制等。(2)内存地址:标明字符送入内存或从内存取出的内存首址。(3)计数:本条指令所要读/写的字节数。(4)通道程序结束位:表示通道程序是否结束,P=1表示结束。(5)记录结束标志:R=0,表示本指令与下一指令处理同一个 记录;R=1表示处理某记录的最后一条指令。,2022/11/29,41,2022/11/29,42,图 通道的工作流程,2022/11/29,43,3.通道控制方式的步骤当进程要求输入数据时,

19、CPU发启动指令指明I/O操作、设备号和对应通道。对应通道接收到CPU发来的启动指令后,把存放在内存中的通道指令程序读出,并执行通道程序,控制设备将数据传送到内存中指定的区域。若数据传输结束,则向CPU发出中断请求。CPU收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并返回被中断的程序。在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存始址取出数据做进一步处理。,2022/11/29,44,内容概述,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件5.5 设备分配 5.6 磁盘存储器管理,2022/11/29,45,5.3 缓冲管理

20、,5.3.1 缓冲的引入5.3.2 单缓冲和双缓冲5.3.3 循环缓冲5.3.4 缓冲池(Buffer Pool),2022/11/29,46,5.3.1 缓冲的引入,(1)缓和CPU与I/O设备间速度不匹配的矛盾。 (2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。 (3)提高CPU和I/O设备之间的并行性。,2022/11/29,47,图5-10 利用缓冲寄存器实现缓冲,2022/11/29,48,5.3 缓冲管理,5.3.1 缓冲的引入5.3.2 单缓冲和双缓冲5.3.3 循环缓冲5.3.4 缓冲池(Buffer Pool),2022/11/29,49,5.3.2 单缓冲和双

21、缓冲,1.单缓冲(Single Buffer),图5-11 单缓冲工作示意图,2022/11/29,50,2.双缓冲(Double Buffer),图5-12 双缓冲工作示意图,2022/11/29,51,图5-13 双机通信时缓冲区的设置,2022/11/29,52,5.3 缓冲管理,5.3.1 缓冲的引入5.3.2 单缓冲和双缓冲5.3.3 循环缓冲5.3.4 缓冲池(Buffer Pool),2022/11/29,53,5.3.3 循环缓冲,循环缓冲的引入: 当输入与输出速度基本匹配时,双缓冲能获得较好效果;当速度相差较大时,可引入多个缓冲,组织成循环缓冲的形式。,2022/11/29,

22、54,5.3 缓冲管理,5.3.1 缓冲的引入5.3.2 单缓冲和双缓冲5.3.3 循环缓冲5.3.4 缓冲池(Buffer Pool),2022/11/29,55,5.3.4 缓冲池(Buffer Pool),1. 缓冲池的组成专用缓冲的利用率不高,因此设置公用缓冲池,其中至少应含有以下三种类型的缓冲区:空(闲)缓冲区;装满输入数据的缓冲区; 装满输出数据的缓冲区。 为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列: (1)空缓冲队列emq (2)输入队列inq (3)输出队列outq,2022/11/29,56,2.缓冲区的工作方式,图5-15 缓冲区的工作方式,

23、2022/11/29,57,内容概述,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配 5.6 磁盘存储器管理,2022/11/29,58,5.4 I/O软件,5.4.1 I/O软件的设计目标和原则5.4.2 中断处理程序5.4.3 设备驱动程序5.4.4 设备独立性软件5.4.5 用户层的I/O软件,2022/11/29,59,5.4.1 I/O软件的设计目标和原则,I/O系统的层次及功能,图5-16 I/O系统的层次及功能,2022/11/29,60,5.4 I/O软件,5.4.1 I/O软件的设计目标和原则5.4.2 中断处理程序5.4.

24、3 设备驱动程序5.4.4 设备独立性软件5.4.5 用户层的I/O软件,2022/11/29,61,5.4.2 中断处理程序,中断处理程序的处理过程:(1)唤醒被阻塞的驱动进程(2)保护被中断进程的CPU环境(3)转入相应的设备处理程序(4)中断处理(5)恢复被中断进程的现场,2022/11/29,62,图5-17 中断现场保护示意图,2022/11/29,63,图5-18 中断处理流程,2022/11/29,64,5.4.3 设备驱动程序,设备驱动程序又称为设备处理程序,是I/O进程与设备控制器之间的通信程序。1.设备驱动程序功能(1)接收由I/O进程发来的命令和参数, 并将命令中的抽象要

25、求转换为具体要求。(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。(3)发出I/O命令并检查设备状态。(4)及时响应由控制器或通道发来的中断请求并处理。(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。,2022/11/29,65,2.设备处理方式 在不同的操作系统中所采用的设备处理方式并不完全相同。根据在设备处理时是否设置进程,以及设置什么样的进程而把设备处理方式分成以下三类:(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作 。(2)在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设

26、备的I/O操作。(3)不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户进程或系统进程调用。,2022/11/29,66,3.设备驱动程序的特点(1)驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关,常用中断驱动和DMA方式。(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。,2022/11/29,67,4.设备驱动程序的处理过程(1)将抽象要求转换为具体要求。设置控制

27、器中的寄存器(2)检查I/O请求的合法性。若请求的设备不支持本次的I/O请求,认为是非法操作。(3)读出和检查设备的状态 。检查设备是否空闲或是否就绪。(4)传送必要的参数 。如数据量、起始地址等。(5)工作方式的设置 。对于有多种工作方式的设备进行设置。(6)启动I/O设备,2022/11/29,68,设备驱动程序工作流程,2022/11/29,69,1.设备独立性的概念为了提高OS的可适应性和可扩展性,在现代OS中实现了设备独立性,也称为设备无关性。含义:应用程序独立于具体使用的物理设备,即是指用户在编程序时所使用的设备与实际设备无关。引入逻辑设备和物理设备这两个概念。在应用程序中,使用逻

28、辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念,5.4.4 设备独立性软件,2022/11/29,70,设备独立性的优点(1)设备分配时的灵活性系统可将该逻辑设备类中的任一台分配给进程使用所有设备均占用时才阻塞(2)易于实现I/O重定向所谓I/O重定向,指用于I/O操作的设备可以更换,而不必变应用程序如调试程序时输出到屏幕,而实际应用时改为输出到打印机(逻辑设备表中的显示终端改为打印机),2022/11/29,71,2.设备独立性软件为了实现设备独立性,必须在

29、设备驱动程序上设置一层软件,称为设备独立性软件。设备独立性软件主要功能 (1)执行所有设备的公有操作对独立设备的分配与回收将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序对设备进行保护,禁止用户直接访问设备缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理差错控制 (2)向用户层(或文件层)软件提供统一接口无论何种设备, 它们向用户所提供的接口应该是相同的对各种设备的读操作,在应用程序中都使用read; 而对各种设备的写操作,也都使用write,2022/11/29,72,图5-18 逻辑设备表,3.逻辑设备名到物理设备名映射的实现 (1)逻辑设备表(LUT)用于实现将应用

30、程序中的逻辑设备名映射为物理设备名。(2)逻辑设备表的设置整个系统中设置一张LUT为每个用户设置一张LUT,2022/11/29,73,5.4.5 用户层的I/O软件,大部分I/O软件都在操作系统内部,只有一小部分在用户层。 用户层软件必须通过一组系统调用来取得操作系统服务。 现代高级语言通常提供了与各系统调用一一对应的库函数, 用户程序通过调用对应的库函数使用系统调用。,2022/11/29,74,内容概述,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配 5.6 磁盘存储器管理,2022/11/29,75,5.4 设备分配,5.4.1 设备

31、分配中的数据结构5.4.2 设备分配时应考虑的因素5.4.3 独占设备的分配程序5.4.4 SPOOLing技术,2022/11/29,76,5.4.1 设备分配中的数据结构,在多道程序环境下,系统中的设备所有进程共享,为防止进程对系统资源的无序竞争,必须由系统统一分配设备。为确保CPU与设备之间能进行通信,还应分配相应的控制器和通道。为实现设备分配,系统中应设置相应的数据结构。,2022/11/29,77,图5-20 设备控制表,1.设备控制表DCT 系统为每个设备配置一张设备控制表,用于记录设备的特性及I/O控制器连接的情况。,请求队列,指向PCB,发生错误时的重传,可连多个控制器,202

32、2/11/29,78,图5-21 COCT、CHCT和SDT表,2.控制器控制表、通道控制表和系统设备表(1)控制器控制表。每个控制器配置一张表,它反映控制器的使用状态以及和通道的连接状况等。,2022/11/29,79,图5-21 COCT、CHCT和SDT表,(2)通道控制表。为每个通道配置一张表,它反映通道的使用状态。,2022/11/29,80,图5-21 COCT、CHCT和SDT表,(3)系统设备表。它记录已被连接到系统中的所有物理设备的情况,每个物理设备占一个表目。整个系统配置一张。,2022/11/29,81,5.4 设备分配,5.4.1 设备分配中的数据结构5.4.2 设备分

33、配时应考虑的因素5.4.3 独占设备的分配程序5.4.4 SPOOLing技术,2022/11/29,82,5.4.2 设备分配时应考虑的因素,1.设备的固有属性(1)独占性。独占设备是不能同时共用的设备,即在一段时间内,该设备只允许一个进程独占。临界资源(2)共享性。允许多个进程同时共享。(3)可虚拟性。虚拟设备是利用某种技术把独占设备改造成可由多个进程共享的设备。2.设备分配算法(1)先来先服务(2)优先级高者优先,2022/11/29,83,3.设备分配中的安全性(1)安全分配方式每当进程发出I/O请求后,便进入阻塞状态,I/O操作完成后唤醒。摒弃了“请求和保持”条件,不会产生死锁。缺点

34、:进程进展缓慢,即CPU与I/O设备串行工作的。(2)不安全分配方式 进程发出I/O请求后仍继续运行。可操作多个设备,推进迅速。缺点:不安全,具备“请求和保持”条件,可能死锁。,2022/11/29,84,5.4 设备分配,5.4.1 设备分配中的数据结构5.4.2 设备分配时应考虑的因素5.4.3 独占设备的分配程序5.4.4 SPOOLing技术,2022/11/29,85,5.4.3 独占设备的分配程序,1.基本的设备分配程序(1)分配设备。查找系统设备表SDT和设备控制表DCT。(2)分配控制器。查找控制器控制表COCT。(3)分配通道。查找通道控制表CHCT。只有在设备、控制器和通道

35、三者都分配成功时,此次设备分配才算成功。,2022/11/29,86,2.设备分配程序的改进基本分配程序的问题进程以物理设备名提出I/O请求,无设备独立性。采用单通路I/O系统结构,容易产生瓶颈。改进方案(1)增加设备独立性。 (2)考虑多通路情况。,2022/11/29,87,5.4 设备分配,5.4.1 设备分配中的数据结构5.4.2 设备分配时应考虑的因素5.4.3 独占设备的分配程序5.4.4 SPOOLing技术,2022/11/29,88,1.什么是SPOOLing技术(1)脱机输入、输出技术(2) 在主机的直接控制下,实现脱机输入、输出功能,此时的外围操作与CPU对数据的处理同时

36、进行。把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为假脱机操作。,5.4.4 SPOOLing技术,2022/11/29,89,2.SPOOLing系统的组成输入井和输出井在磁盘上的两个存储空间输入井模拟脱机输入,暂存输入数据输出井模拟脱机输出,暂存输出数据输入缓冲区和输出缓冲区(内存中)用来缓和CPU与磁盘之间的速度的矛盾输入进程SPi和输出进程SPo模拟脱机I/O时的外围控制机,2022/11/29,90,图5-19 SPOOLing系统的组成,2022/11/29,91,3.共享打印

37、机打印机为独占设备,利用SPOOLing技术,可将之改造为共享设备用户请求打印时,SPOOLing系统处理如下由输出进程在输出井中为之申请一个空闲磁盘块区, 并将要打印的数据送入其中输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中, 再将该表挂到请求打印队列上,2022/11/29,92,内容概述,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件5.5 设备分配5.6 磁盘存储器管理,2022/11/29,93,5.6 磁盘存储器管理,5.6.1 磁盘性能简述5.6.2 磁盘调度5.6.3 磁盘高速缓存(Disk Cache)5.6.

38、4 提高磁盘I/O速度的其它方法5.6.5 廉价磁盘冗余阵列,2022/11/29,94,5.6.1 磁盘性能简述,图5-24 磁盘的格式化,1.数据的组织和格式盘片、盘面、磁道、扇区扇区有标识符字段和数据字段,2022/11/29,95,2.磁盘的类型(1)固定头磁盘这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。(2)移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。,2022/11/29,96,3.磁盘访问时间 (1)寻道时间Ts

39、这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即Ts=mn+s (2)旋转延迟时间T这是指定扇区移动到磁头下面所经历的时间。,2022/11/29,97,(3)传输时间Tt这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关r为磁盘每秒钟的转数;N为一条磁道上的字节数。,2022/11/29,98,5.6 磁盘存储器管理,5.6.1 磁盘性能简述5.6.2 磁盘调度5.6.3 磁盘高速缓存(Disk Cache)5.6.4 提高磁盘I/O速度的其它方法5.6.5 廉价磁盘冗余阵列,2

40、022/11/29,99,5.6.2 磁盘调度,图5-25 FCFS调度算法,1.先来先服务FCFS 根据进程请求访问磁盘的先后次序进行调度。简单、公平,每个进程得到满足。适合请求磁盘进程数目少。对寻道未优化。平均寻道时间可能较长。,2022/11/29,100,0,38,39,55,58,90,100,150,160,184,18,图5-25 FCFS调度算法,2022/11/29,101,2.最短寻道时间优先SSTF与当前磁头所在磁道距离最近。每次寻道时间最短。不能保证平均寻道时间最短。有“饥饿”现象。,图5-26 SSTF调度算法,27.5,2022/11/29,102,0,38,39,

41、55,58,90,100,150,160,184,18,图5-26 SSTF调度算法,27.5,2022/11/29,103,3.扫描(SCAN)算法 SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。,2022/11/29,104,SCAN算法,图5-27 SCAN调度算法示例,2022/11/29,105,0,38,39,55,58,90,100,150,160,184,18,2022/11/29,106,图5-28 CSCAN调度算法示例,4.循环扫描(CSCAN)算法 规定磁头单向移动减少刚移过的磁道的等待时间,35.8,2022/1

42、1/29,107,0,38,39,55,58,90,100,150,160,184,18,35.8,2022/11/29,108,5.N-Step-SCAN和FSCAN调度算法 (1)N-Step-SCAN算法在以前讲的算法都对于先来和后来的请求同等处理(除FCFS),不好,应该考虑。N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。(2)FSCAN算法FSCAN算法实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I

43、/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。,2022/11/29,109,5.6 磁盘存储器管理,5.6.1 磁盘性能简述5.6.2 磁盘调度5.6.3 磁盘高速缓存(Disk Cache)5.6.4 提高磁盘I/O速度的其它方法5.6.5 廉价磁盘冗余阵列,2022/11/29,110,5.6.3 磁盘高速缓存(Disk Cache),1.磁盘高速缓存的形式利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。高速缓存在内存中可分成

44、两种形式第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的。第二种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。,2022/11/29,111,2.数据交付方式数据交付是指将磁盘高速缓存中的数据传送给请求者进程。当有进程请求访问某个盘块时,选查看磁盘高速缓存系统可以采取两种方式,将数据交付给请求进程: (1)数据交付。这是直接将高速缓存中的数据,传送到请求者进程的内存工作区中。 (2)指针交付。只将指向高速缓存中某区域的指针,交付给请求者进程。 后一种方式由于所传送的数据量少,因而节省了数据从磁盘高速缓存存储空间到进程的内存

45、工作区的时间,2022/11/29,112,3.置换算法将磁盘中的盘块写入高速缓存时,会出现因为高速缓存中已装满盘块而需要将高速缓存中的数据先换出的问题,常用算法有最近最久未使用LRU,最近未用NRU,最少使用LFU等同时还需考虑以下几点(1)访问频率(2)可预见性(3)数据的一致性,2022/11/29,113,4.周期性写回磁盘在LRU算法中,经常被访问的盘块数据可能一直保留在高速缓存中,长期不被写回磁盘(有可能丢数据)在UNIX系统中专门增设了一个修改程序, 使之在后台运行,该程序周期性地调用一个系统调用SYNC。该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁盘在MS

46、-DOS中所采用的方法是:只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,并将这种高速缓存称为“写穿透、高速缓存”。,2022/11/29,114,5.6 磁盘存储器管理,5.6.1 磁盘性能简述5.6.2 磁盘调度5.6.3 磁盘高速缓存(Disk Cache)5.6.4 提高磁盘I/O速度的其它方法5.6.5 廉价磁盘冗余阵列,2022/11/29,115,5.6.4 提高磁盘I/O速度的其它方法,1.提前读(Read-Ahead)在读当前块的同时,将下一盘块读入缓冲区2.延迟写缓冲区中的数据不立即写回磁盘,而挂在队尾3.优化物理块分布使文件的物理块集中,减小磁头移动距离4.虚拟盘利

47、用内存空间仿真磁盘,又称为RAM盘虚拟盘与磁盘高速缓存的主要区别:(1)虚拟盘内容完全由用户控制(用户那他当磁盘用)(2)而高速磁盘缓存内容由操作系统OS控制(用户不知道其存在),2022/11/29,116,5.6 磁盘存储器管理,5.6.1 磁盘性能简述5.6.2 磁盘调度5.6.3 磁盘高速缓存(Disk Cache)5.6.4 提高磁盘I/O速度的其它方法5.6.5 廉价磁盘冗余阵列,2022/11/29,117,5.6.5 廉价磁盘冗余阵列,图5-29 磁盘并行交叉存取方式,1.并行交叉存取将一个盘块中的数据分成若干个子盘块数据,分别存储在不同磁盘的相同位置上。数据传送时采用并行传输

48、方式,2022/11/29,118,2. RAID的分级(1)RAID0仅提供了并行交叉存取无校验(2)RAID1具有磁盘镜像功能(3)RAID3具有并行传输功能的磁盘阵列利用一台校验盘来完成校验(4)RAID5具有独立传送功能的磁盘阵列,每个驱动器有各自独立的数据通路,独立地进行读写,无专门校验盘(5)RAID6和RAID7,2022/11/29,119,3.RAID的优点(1)可靠性高采用容错技术可实现镜像、双工等冗余方式(2)磁盘I/O速度高采用并行交叉存取,提高速度(3)性能/价格比高与其他高性能磁盘系统相比,容量、速度、可靠性高,但价格低,2022/11/29,120,本章小结,设备管理的主要任务是分配I/O设备。主要目的是提高I/O设备的使用效率。它的主要功能有:缓冲区管理、设备分配、设备处理、虚拟设备及实现设备独立性。I/O4种控制方式:程序I/O方式、中断驱动I/O方式、直接存储访问DMA I/O控制方式和I/O通道控制方式缓冲技术的概念及4种常见的缓冲技术:单缓冲、双缓冲、循环缓冲及缓冲池设备分配、设备处理、SPOOLing技术磁盘和磁盘高速缓存作业:P202,,2022/11/29,121,第五章授课结束,欢迎讨论!,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号