操作系统讲义-第五章设备管理.ppt

上传人:牧羊曲112 文档编号:6472757 上传时间:2023-11-03 格式:PPT 页数:47 大小:247KB
返回 下载 相关 举报
操作系统讲义-第五章设备管理.ppt_第1页
第1页 / 共47页
操作系统讲义-第五章设备管理.ppt_第2页
第2页 / 共47页
操作系统讲义-第五章设备管理.ppt_第3页
第3页 / 共47页
操作系统讲义-第五章设备管理.ppt_第4页
第4页 / 共47页
操作系统讲义-第五章设备管理.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

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

1、2023/11/3,操作系统讲义,1,第五章 设备管理,2023/11/3,第五章 设备管理,2,主要内容,5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配 5.6 磁盘存储器的管理,2023/11/3,第五章 设备管理,3,设备管理概述,在计算机系统中,除了需要一个或多个处理机,一个或多个存储器模块外,还需要用于实现信息输入、输出和存储的设备。设备管理程序便是用于对这类设备进行控制和管理的一组程序。由于I/O设备不仅种类繁多,而且它们的特性和操作方式,往往相差甚大,所以使得设备管理成为操作系统中最繁杂且与硬件紧密相关的部分。,主要对象:I/O

2、设备,以及设备控制器和通道。,2023/11/3,第五章 设备管理,4,设备管理概述,缓冲管理设备分配设备处理虚拟设备实现设备独立性,设备管理的主要功能包括:,设备管理的主要任务:完成用户提出的I/O请求,提高I/O 速率以及提高I/O设备的利用率。,2023/11/3,第五章 设备管理,5,5.1 I/O系统,I/O系统是用于实现数据输入、输出及数据存储的系统。,1.I/O设备,按设备的使用特性可以分成:存储设备,如外存;输入/输出设备,键盘,鼠标,扫描仪,打印机等等。,按传输速率可以分成:低速设备:每秒几个字节到数百个字节,如键盘,鼠标;中速设备:每秒数千个字节到数十万个字节,如打印机;高

3、速设备,每秒数十万字节到千兆字节,如磁带机,磁盘机。,2023/11/3,第五章 设备管理,6,5.1 I/O系统,1.I/O设备,按信息交换的单位可以分成:块设备,如磁盘;字符设备,如打印机。,按设备的共享属性可以分成:独占设备:一段时间只允许一个用户访问,如打印机;共享设备:一段时间内允许多个进程同时访问,如磁盘;虚拟设备:将一台独占设备变成若干台逻辑设备,如虚拟内存。,2023/11/3,第五章 设备管理,7,5.1 I/O系统,1.I/O设备,设备与控制器的接口:设备不直接与CPU进行通信,而是与设备控制器通信,有三种类型的信号:数据信号线:用于在设备和设备控制器之间传送数据信号;控制

4、信号线:作为由设备控制器向I/O设备发送控制信号时的通路;状态信号线:用于传送指示设备当前状态的信号。,I/O设备,缓冲,转换器,控制逻辑,信号数据,至设备控制器,数据信号线,状态信号线,控制信号线,2023/11/3,第五章 设备管理,8,5.1 I/O系统,2.设备控制器,设备控制器的基本功能接收和识别命令:CPU可以向控制器发送不同的命令,设备控制器负责接收并识别这些命令;数据交换:实现CPU与控制器间,控制器与设备间的数据交换;标识和报告设备状态:控制器应记下设备的状态供CPU了解;地址识别:系统中的每个设备也有一个地址,设备控制器必须能够识别它所控制的每个设备的地址;数据缓冲:I/O

5、设备的速率较低而CPU和内存的速率很高,所以控制器中必须设置缓冲器,输出时,缓冲器暂存由主机高速传来的数据,然后以I/O设备具有的速率将缓冲器中的数据传送给I/O设备,输入时相反;差错控制:对由I/O设备传送来的数据进行差错检测,若发现传送中出现了错误,通常还要向CPU报告,CPU将本次传送来的数据作废,重新进行传送。,主要职责是控制I/O设备,以实现I/O设备和计算机之间的数据交换。,2023/11/3,第五章 设备管理,9,5.1 I/O系统,2.设备控制器,设备控制器的组成设备控制器与处理机的接口:实现CPU与设备控制器之间的通信;设备控制器与设备的接口:控制器中有一个或者多个设备接口,

6、每个接口连接一个设备;I/O逻辑:用于实现对设备的控制。,CPU与控制器接口,数据寄存器,控制/状态寄存器,数据状态控制,数据线,地址线,控制线,I/O逻辑,控制器与设备接口1,控制器与设备接口i,数据状态控制,2023/11/3,第五章 设备管理,10,5.1 I/O系统,3.I/O通道,I/O通道设备的引入 设备控制器能大大减少CPU对I/O的干预,但是当主机配置的外设很多时,CPU的负担仍然很重,所以在CPU和设备控制器之间设置通道,其目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且能对I/O操作的组织、管理和结束处理尽量独立,使得CPU有更多的时间去进行数据处理。,

7、2023/11/3,第五章 设备管理,11,5.1 I/O系统,3.I/O通道,通道的类型字节多路通道:按字节交叉方式工作的通道,其数量在几十到数百个,每个子通道连接一台I/O设备,并控制该设备的I/O操作;数组选择通道:字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道,这种通道可以连接多台高速设备,但是它只含有一个分配型紫铜刀,一段时间只能控制一台设备,所以通道利用率仍然很低;数组多路通道:将数组选择通道传输速率高和字节多路通道能使各子通道分时并行操作的有点结合形成,既具有很高的数据传输速率,又能获得令人满意的通道利用率。,2023/11/3,第五章 设备管理,1

8、2,5.1 I/O系统,3.I/O通道,瓶颈问题,存储器,通道1,通道2,控制器1,控制器2,控制器3,控制器4,设备1,设备2,设备3,设备4,设备5,设备6,设备7,存储器,通道1,通道2,控制器1,控制器4,I/O设备,I/O设备,I/O设备,I/O设备,2023/11/3,第五章 设备管理,13,5.1 I/O系统,4.总线系统,ISA和EISA总线ISA总线:1984年推出的80286型微机的总线结构,带宽8位,最高传输速率2Mb/s。EISA总线:20世纪80年代末推出,带宽32位,传输速率32Mb/s,可连接12台外部设备。,局部总线(Local Bus)VESA总线;低价位占领

9、市场,带宽32位,最高传输速率132Mb/s,广泛应用于486微机;缺点:只能连接2-4台设备,无缓冲;PCI总线:支持Pentium系列芯片,1992和1995分别提出PCI总线的V1.0和V2.1规范,后者支持64位系统,有数据缓冲,能连接10种外设,最大传输速率132Mb/s。,CPU,磁盘控制器,存储器,打印机控制器,其它控制器,磁盘控制器,打印机,系统总线,2023/11/3,第五章 设备管理,14,5.2 I/O控制方式,用于早期的计算机系统,无中断机构,处理机对设备的控制采取忙-等待方式,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据

10、I/O的循环测试中,造成对CPU的极大浪费,造成这种浪费的原因就是CPU无中断机构。,1.程序I/O方式,在现代计算机系统中,毫无例外地引入了中断机构,当某进程要启动某个I/O设备时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回执行原来的任务,此时设备控制器按照该命令的要求去控制指定的I/O设备,CPU和I/O设备并行地工作。在I/O设备输入每个数据的过程中,由于无需CPU干预,因而可使CPU与I/O设备并行工作,仅当输完一个数据时,才需要CPU花费极短的时间去做些中断处理,所以这种方式可以使CPU和I/O设备同时处于忙碌状态,从而提高了整个系统的资源利用率和吞吐量。,2.中断

11、驱动I/O方式,2023/11/3,第五章 设备管理,15,5.2 I/O控制方式,程序I/O方式,中断驱动I/O方式,向I/O控制器发读指令,读I/O控制器的状态,从I/O控制器中读入字,向存储器中写字,检查状态?,传送完成?,下一条指令,完成,CPU-内存,I/O-CPU,出错,I/O-CPU,CPU-I/O,就绪,未就绪,未完,向I/O控制器发读指令,读I/O控制器的状态,从I/O控制器中读入字,向存储器中写字,检查状态?,传送完成?,下一条指令,完成,CPU-内存,I/O-CPU,出错,I/O-CPU,CPU-I/O,就绪,未完,CPU做其它事,中断,2023/11/3,第五章 设备管

12、理,16,5.2 I/O控制方式,DMA方式(Direct Memory Access)的引入 针对中断驱动I/O方式以字(节)为单位进行I/O的,每当完成一个字(节)的I/O时,控制器就要向CPU请求一次中断,这种方式应用于块设备是极其低效的。,3.直接存储器访问(DMA)I/O控制方式,DMA方式的特点数据传输的基本单位是数据块;所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。,DMA方式的优点 较之中断驱动方式,成百倍地减少了CPU对I/O的干预,进一步提高了CPU和I/O设备的并行操作度。,向

13、I/O控制器发布读块命令,下一条指令,向I/O控制器发布读块命令,DMA-CPU,CPU-DMA,CPU做其它事,中断,2023/11/3,第五章 设备管理,17,5.2 I/O控制方式,DMA控制器的组成主机与DMA控制器的接口DMA控制器与块设备的接口I/O控制逻辑,3.直接存储器访问DMA方式,DMA控制器设置如下四类寄存器:命令/状态寄存器CR 内存地址寄存器MAR 数据寄存器DC 数据计数器CR,系统总线,CPU,内存,主机-控制器接口,命令,DR,MAR,DC,CR,I/O控制逻辑,控制器-块设备接口,count,DMA控制器,2023/11/3,第五章 设备管理,18,5.2 I

14、/O控制方式,DMA的工作过程 当CPU从磁盘读入一个数据块时,便向磁盘控制器发送读指令,该命令被送到其中的命令寄存器,同时,还须发送本次要将数据读入的内存起始地址,将地址读入内存地址寄存器MAR中,本次要读数据的字节数读入数据计数器DC,降低至送到DMA控制器的I/O控制逻辑上,启动DMA控制器进行数据传送,CPU可以去处理其他任务。,3.直接存储器访问DMA方式,设置MAR和DC初值,启动DMA传送命令,挪用存储器周期传送数据字,存储器地址增1字计数寄存器减1,DC=0?,请求中断,否,是,在继续执行用户程序的同时,准备下一次传送,2023/11/3,第五章 设备管理,19,5.2 I/O

15、控制方式,I/O通道控制方式的引入 DMA方式相比中断方式显著减少了CPU的干预,并且以数据块为传送单位,但CPU每发出一条I/O指令,也只能读/写一个连续的数据块,如果需要一次去读多个数据块,并且分别传送到不同的内存区,必须由CPU分别发出多条I/O指令,并且进行多次中断处理才能完成。为此,引入通道方式,可以进一步减少CPU的干预,可以实现CPU、通道和I/O设备的并行操作,从而更有效地提高整个系统的资源利用率。,4.I/O通道控制方式,2023/11/3,第五章 设备管理,20,5.2 I/O控制方式,4.I/O通道控制方式,通道程序 通道通过执行通道程序,并与设备控制器共同实现对I/O设

16、备的控制。通道程序是由一系列通道指令(通道命令)所构成,通道指令包含以下信息:操作码:规定了指令所执行的操作,如读、写、控制等等;内存地址:标明字符送入内存(读操作)和从内存取出(写操作)时的内存首址;计数:表示本条指令所要读(或写)数据的字节数;通道程序结束位P:表示通道程序是否结束,P=1表示本条指令是通道程序的最后一条指令;记录结束标志R:R=0表示本通道指令与下一条指令所处理的数据是否属于一条记录。,2023/11/3,第五章 设备管理,21,5.3 缓冲管理,1.缓冲的引入,缓和CPU与I/O设备间速度不匹配的矛盾 凡是数据到达速率与其离去速率不同的地方,都可以设置缓冲区。减少对CP

17、U的中断频率,放宽对CPU中断响应时间的限制提高CPU和I/O设备之间的并行性 缓冲的引入可显著地提高CPU和I/O设备间的并行操作读,提高系统的吞吐量和设备的利用率。,9.6kb/s,1位缓冲,(a),(a),9.6kb/s,送内存,(b),8位缓冲寄存器,9.6kb/s,送内存,(c),8位缓冲寄存器,2023/11/3,第五章 设备管理,22,5.3 缓冲管理,2.单缓冲和双缓冲,单缓冲 凡是数据到达速率与其离去速率不同的地方,都可以设置缓冲区。,双缓冲 设备输入时,先将数据送入第一个缓冲区,装满后再转向第二个缓冲区,此时操作系统可以从第一个缓冲区移出数据,送入用户进程,接着由CPU对数

18、据进行计算。,工作区,用户进程,缓冲区1,操作系统,缓冲区2,I/O设备,工作区,用户进程,缓冲区,I/O设备,输入(T),传送(M),处理(C),2023/11/3,第五章 设备管理,23,5.3 缓冲管理,3.循环缓冲,循环缓冲的组成(1)多个缓冲区:用于装输入数据的空缓冲区R,已装满数据的缓冲区G以及计算进程正在使用的现行工作缓冲区C。(2)多个指针:用于指示计算进程下一个可用缓冲区的指针Nextg,指示输入进程下次可用的空缓冲区R的指针Nexti,以及用于指示计算进程正在使用的缓冲区C的指针Current。,循环缓冲的使用(1)Getbuf过程:将指针Nextg所指示的缓冲区给进程,把

19、它改为现行工作缓冲区,Nextg移向下一个G缓冲区;(2)Releasebuf过程:计算进程把C缓冲区中的数据提取完毕时,调用Releasebuf释放缓冲区,将当前工作缓冲区C改为空缓冲区。,进程同步(1)Nexti指针追上Nextg:输入进程输入数据速度大于计算进程处理数据速度,缓冲区已装满,输入进程应阻塞,直到计算进程把某个缓冲区数据全部提取完;(2)Nextg指针追赶上Nexti指针:意味着输入进程的速度低于计算进程处理数据的速度,缓冲区都被抽空,计算进程应阻塞,直至输入进程又装满某个缓冲区。,2023/11/3,第五章 设备管理,24,5.3 缓冲管理,4.缓冲池,缓冲池的组成缓冲池包

20、括三种类型的缓冲区:空缓冲区,装满输入数据的缓冲区,装满输出数据的缓冲区;三个队列:空缓冲队列emq,输入队列inq,输出队列outg;四个工作缓冲区:用于收容输入数据的工作缓冲区hin,用于提取输入数据的工作缓冲区sin,用于收容输出数据的工作缓冲区hout,用于抽取输出数据的工作缓冲区sout。,Getbuf过程和Putbuf过程,Procedure Getbuf(type)begin Wait(RS(type);Wait(MS(type);B(number)=Takebuf(type);Signal(MS(type);end,Procedure Putbuf(type,number)be

21、gin Wait(RS(type);Addbuf(type,number);Signal(MS(type);Signal(RS(type);end,2023/11/3,第五章 设备管理,25,5.3 缓冲管理,4.缓冲池,缓冲区的工作方式(1)收容输入:当输入进程需要输入数据时,调用Getbuf(emq)过程,把空缓冲队列emq的队首摘下一空缓冲区,作为收容输入的工作缓冲区hin,装满后调用Putbuf(inq,hin),将缓冲区挂在输入队列inq上;(2)提取输入:计算进程需要数据时,调用Getbuf(inq)过程,从输入队列inq队首取得一个缓冲区,作为提取输入的缓冲区;(3)收容输出:计

22、算进程需要输出数据时,调用Getbuf(emq)过程从空缓冲区emq的队首取得空缓冲区;(4)提取输出:由输出进程调用Getbuf(outq)过程,从输出队列队首取得一装满输出数据的缓冲区,作为提取输出工作缓冲区sout。,用户程序,收容输入,缓冲池,hin,sout,sin,hout,提取输出,收容输出,收容输出,提取输入,2023/11/3,第五章 设备管理,26,5.4 I/O软件,1.I/O软件的设计目标和原则,与具体设备无关 I/O软件应该屏蔽设备的具体细节,其功能不受具体I/O设备的影响。,缓冲技术 I/O软件应能屏蔽块设备与字符设备的缓冲差异。,总体设计目标是高效性和通用性,前者

23、是确保I/O设备与CPU的并发性,以提高资源的利用率;后者是指尽可能地提供简单抽象、清晰而统一的接口,采用标准的方法,来管理所有设备以及所需的I/O操作。,统一命名 对各类设备采取预先设计的、统一的逻辑名称进行命名,所有软件都以逻辑名称访问设备。,对错误的处理 对于错误的处理,尽量在接近硬件的层面处理。,设备的分配和释放 I/O软件必须能够同时妥善解决独占设备和共享设备带来的问题。,I/O控制方式 针对不同传输速率的设备,综合系统效率和系统代价因素,合理选择I/O控制方式。,2023/11/3,第五章 设备管理,27,5.4 I/O软件,1.I/O软件的设计目标和原则,用户层软件:实现和用户交

24、互的接口。设备独立性软件:负责实现与设备驱动器的统一接口、设备命名、保护以及设备的分配和释放。设备驱动程序:与硬件直接相关,实现系统指令,驱动I/O设备工作。中断处理程序:保存被中断进程的CPU环境,转入相应的中断处理程序,处理完在恢复现场并返回被中断进程。,层次结构的I/O软件通常可以按照四个层次组织:,用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,I/O应答,I/O请求,产生I/O请求、格式化I/O、Spooling,映射、保护、分块、缓冲、分配,设置设备寄存器,检查寄存器状态,执行I/O操作,2023/11/3,第五章 设备管理,28,5.4 I/O软件,2.中断处理程序

25、,唤醒被阻塞的驱动(程序)进程保护被中断进程的CPU环境转入相应的设备处理程序中断处理恢复被中断进程的现场,中断处理程序的主要工作包括进行进程上下文切换,对处理中断信号源进行测试,读取设备状态和修改进程状态,它包括如下步骤:,唤醒被阻塞的驱动程序进程,中断请求信号,对被中断进程的CPU环境进行保护,分析中断原因,转入相应的中断处理程序,终端中断处理程序,打印机中断处理程序,磁盘中断处理程序,恢复被中断进程的CPU现场,返回被中断的进程,继续执行,2023/11/3,第五章 设备管理,29,5.4 I/O软件,3.设备驱动程序,设备驱动程序又称为设备处理程序,它是I/O进程与设备控制器之间的通信

26、程序,其主要任务是接受上层软件发来的抽象I/O请求,把它转换为具体要求,发给设备控制器,启动设备执行。,设备处理方式 根据在设备处理时是否设置进程及设置什么样的进程,把设备处理方式分成:(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作;(2)在整个系统设置一个I/O进程,专门用于执行系统中所有设备的I/O操作;(3)不设置专门的设备处理进程,只为各类设备设置相应的设备处理程序(模块)供用户进程或系统进程调用。,2023/11/3,第五章 设备管理,30,5.4 I/O软件,3.设备驱动程序,设备驱动程序的功能(1)接收有设备独立性软件发来的命令和参数,并且将其转化为具体需求;(

27、2)检查用户I/O请求的合法性;(3)发出I/O命令,若I/O设备空闲,启动;若I/O设备忙碌,将请求挂在设备队列;(4)及时响应控制器或通道发来的中断请求;(5)应能够根据用户的I/O请求,自动地构成通道程序。,2023/11/3,第五章 设备管理,31,5.4 I/O软件,3.设备驱动程序,设备驱动程序的特点(1)它是在请求I/O的进程和设备控制器之间的一个通信和转换程序;(2)它与设备控制器和I/O设备的硬件特性紧密相关,对不同类的设备要配置不同的驱动程序;(3)与I/O设备所采用的I/O控制方式紧密相关;(4)与硬件紧密相关,其中的一部分必须用汇编语言书写;(5)它应该允许可重入;(6

28、)它不允许系统调用,但可以允许对某些内核过程的调用。,2023/11/3,第五章 设备管理,32,5.4 I/O软件,3.设备驱动程序,设备驱动程序的处理过程 1)将抽象的要求转换为具体要求;2)检查I/O请求的合法性;3)读出和检查设备的状态;4)传送必要的参数;5)工作方式的设置;6)启动I/O设备。,2023/11/3,第五章 设备管理,33,5.4 I/O软件,4.设备独立性,设备分配时的灵活性 当程序(进程)以物理设备名称来请求指定设备时,如果设备已经分配或正在检修,则会阻塞进程;如果采用逻辑设备名称来访问,系统会给它分配另一台设备。易于实现I/O重定向 是指用于I/O操作的设备可以

29、更换(即重定向),而不必改变应用程序。,又称为设备无关性,其含义:应用程序独立于具体使用的物理设备。,2023/11/3,第五章 设备管理,34,5.4 I/O软件,4.设备独立性,设备独立性软件的功能(1)执行所有设备公有操作:对独立设备的分配和回收;逻辑设备到物理设备的映射;设备保护;缓冲管理;差错控制;提供独立于设备的逻辑块。(2)向用户层(文件层)软件提供统一的接口。,5.设备独立性软件,逻辑设备到物理设备名映射的实现 通过逻辑设备表LUT的设置来实现。,是指在用户层的一小部分I/O软件,包括与用户程序链接在一起的库函数,以及完全运行于内核之外的一些程序。,2023/11/3,第五章

30、设备管理,35,5.5 设备分配,1.设备分配中的数据结构,控制器控制表、通道控制表和系统设备表,设备控制表DCT,设备控制表集合,设备类型:type,设备标志符:deviceid,设备状态:等待/不等待 忙/闲,指向控制器表的指针,重复执行次数或时间,设备队列的队首指针,控制器标识符:controllerid,控制器状态:忙/闲,与控制器连接的通道表指针,控制器队列的队首指针,控制器队列的队尾指针,(a)控制器表COCT,通道标识符:channelid,通道状态:忙/闲,与通道连接的控制器表指针,通道队列的队首指针,通道器队列的队尾指针,(b)通道表CHCT,设备类,设备标识符,DCT,驱动

31、程序入口,表目1,表目i,(c)系统设备表SDT,2023/11/3,第五章 设备管理,36,5.5 设备分配,2.设备分配时应考虑的因素,三种设备分配策略独占设备:采用独享分配策略,即将一个设备分配给某进程后,便由该进程独占,直至该进程完成或释放该设备;共享设备:可同时分配给多个进程使用,但必须合理调度;可虚拟设备:一台可虚拟设备是可共享的,可以把它同时分配给多个进程使用,并且对访问该物理设备的先后次序进行控制。,2023/11/3,第五章 设备管理,37,5.5 设备分配,2.设备分配时应考虑的因素,设备分配算法(1)先来先服务:根据诸进程对某设备提出请求的先后顺序。(2)优先级高者优先:

32、优先满足进程提出的优先权高的I/O请求。,设备分配的安全性(1)安全分配方式 这种分配方式中,每当进程发出I/O请求后,便进入阻塞状态,直到I/O操作完成时才被唤醒,这样就摒弃了死锁的四个必要条件之一“请求和保持”条件,从而使得设备分配是安全的;(2)不安全分配方式 这种分配方式中,进程发出I/O请求后继续运行,需要时又发出第二个I/O请求、第三个I/O请求等等,只有当请求设备被其他进程占用时才会阻塞。,2023/11/3,第五章 设备管理,38,5.5 设备分配,3.独占设备的分配程序,设备分配程序的改进(1)增加设备的独立性 为了获得设备独立性,进程应使用逻辑设备名请求I/O;(2)考虑多

33、通路情况 为了防止I/O系统中出现“瓶颈”现象,采用多通路的I/O系统结构。,基本的设备分配程序分配设备:根据I/O请求中的物理设备名,通过查找系统设备表SDT,找到该设备的DCT,通过设备状态找到空闲,并且不会使系统进入不安全状态情况下分配给进程;分配控制器:在DCT中找出与该设备连接的控制器的COCT,如不忙,则分配;分配通道:在COCT中找到与该控制器连接的通道的CHCT,如不忙,则分配。,2023/11/3,第五章 设备管理,39,5.5 设备分配,4.SPOOLING技术,为了缓和CPU的高速性与I/O设备的低速性间的矛盾引入的脱机输入、脱机输出技术。该技术利用专门的外围控制机,实现

34、数据在低速I/O设备和高速磁盘之间的数据传送,此时外围操作可以与CPU对数据的处理同时进行,这种联机情况下的同时外围操作称作SPOOLING(Simultaneous Periphernal Operating On Line),或称为假脱机操作。,SPOOLING系统的特点(1)提高了I/O的速度;(2)将独占设备改造成共享设备;(3)实现了虚拟设备功能。,2023/11/3,第五章 设备管理,40,5.5 设备分配,SPOOLING系统的组成(1)输入井和输出井;(2)输入缓冲区和输出缓冲区;(3)输入进程SPi和输出进程SPo。,磁盘,输入缓冲区Bi,输出缓冲区Bo,输入井,输出井,输入

35、进程SPi,输出进程SPo,输入设备,输出设备,4.SPOOLING技术,2023/11/3,第五章 设备管理,41,5.6 磁盘存储器的管理,数据的组织和格式磁盘设备可包括一或多个物理盘片;每个盘片分一个或两个存储面;每个存储面分成若干个磁道;每条磁道被划分成若干个扇区。,磁盘的类型(1)固定头磁盘:每条磁道上都有一读/写磁头,所有磁头装在一个刚性磁臂中。(2)移动头磁盘:每个盘面仅配有一个磁头,也被装入磁臂中。,1.磁盘的概述,磁盘的访问时间(1)寻道时间Ts=mn+s,其中s为启动磁臂的时间,m是常数;(2)旋转延迟时间:指定扇区移动到磁头下面所经历的时间;(3)传输时间(了解一下),扇

36、区,磁道,磁道间隔,扇区间隔,2023/11/3,第五章 设备管理,42,5.6 磁盘存储器的管理,先来先服务FCFS,2.磁盘调度,最短寻道时间优先SSTF,2023/11/3,第五章 设备管理,43,5.6 磁盘存储器的管理,SCAN算法,2.磁盘调度,循环扫描CSCAN算法,2023/11/3,第五章 设备管理,44,5.6 磁盘存储器的管理,磁盘高速缓存的形式 利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的信息,它是一组在逻辑上属于磁盘,物理上驻留在内存中的盘块。,数据交付方式 数据交付是指将磁盘高速缓存中的数据传送给请求者进程,包括两种:数据交付:直接将高速缓存中的数据,传送

37、到请求进程的内存工作区;指针交付:只将指向高速缓存中某区域的指针交给请求进程。,3.磁盘高速缓存,2023/11/3,第五章 设备管理,45,5.6 磁盘存储器的管理,3.磁盘高速缓存,置换算法 类似于请求调页(段)页面置换算法,主要考虑以下几点:(1)访问频率(2)可预见性(3)数据的一致性,4.提高磁盘I/O速度的其他方法,1)提前读 2)延迟写 3)优化物理块的分布 4)虚拟盘,5.廉价磁盘冗余阵列,2023/11/3,第五章 设备管理,46,本章小结,1.本章的概念,设备控制器的功能和组成 总线系统的发展历史 I/O控制方式的工作流程 DMA控制方式的组成及其工作原理 中断处理程序的工作过程 设备独立性的含义 SPOOLING的定义,组成,特点 磁盘调度算法,2.本章的重点和难点,设备独立性、SPOOLING、寻道时间、旋转延迟时间、传输时间。,2023/11/3,第五章 设备管理,47,本章作业,假设有10个进程先后提出了磁盘I/O请求,它们要访问的磁道号分别是:78,30,9,15,102,140,156,54,45,125,试用先来先服务FCFS、最短寻道时间优先SSTF算法、SCAN和循环扫描CSCAN算法,分别给出访问过程中每次移动的距离,计算两种算法的平均寻道长度。注:假设磁头从100号磁道开始,(对于SCAN和CSCAN算法)向磁道号增加方向移动。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号