《操作系统讲义-第五章设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统讲义-第五章设备管理.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第五章五章 设备管理设备管理2023/4/251操作系统讲义主要内容主要内容 5.1 I/O系统系统 5.2 I/O控制方式控制方式 5.3 缓冲管理缓冲管理 5.4 I/O软件软件 5.5 设备分配设备分配 5.6 磁盘存储器的管理磁盘存储器的管理2023/4/252第五章 设备管理设备管理概述设备管理概述 在计算机系统中,除了需要一个或多个处理在计算机系统中,除了需要一个或多个处理机,一个或多个存储器模块外,还需要用于实现机,一个或多个存储器模块外,还需要用于实现信息输入、输出和存储的设备。设备管理程序便信息输入、输出和存储的设备。设备管理程序便是用于对这类设备进行控制和管理的一组程序。
2、是用于对这类设备进行控制和管理的一组程序。由于由于I/O设备不仅种类繁多,而且它们的特性和操设备不仅种类繁多,而且它们的特性和操作方式,往往相差甚大,所以使得设备管理成为作方式,往往相差甚大,所以使得设备管理成为操作系统中最繁杂且与硬件紧密相关的部分。操作系统中最繁杂且与硬件紧密相关的部分。主要对象:I/O设备,以及设备控制器和通道设备,以及设备控制器和通道。2023/4/253第五章 设备管理设备管理概述设备管理概述缓冲管理缓冲管理设备分配设备分配设备处理设备处理虚拟设备虚拟设备实现设备独立性实现设备独立性 设备管理的主要功能包括:设备管理的主要任务:完成用户提出的完成用户提出的I/O请求,
3、请求,提高提高I/O 速率以及提高速率以及提高I/O设备的利用率设备的利用率。2023/4/254第五章 设备管理5.1 I/O系统系统 I/O系统是用于实现数据输入、输出及数据存储的系统。系统是用于实现数据输入、输出及数据存储的系统。1.I/O设备设备按设备的使用特性可以分成:按设备的使用特性可以分成:存储设备,如外存;输入/输出设备,键盘,鼠标,扫描仪,打印机等等。按传输速率可以分成:按传输速率可以分成:低速设备:每秒几个字节到数百个字节,如键盘,鼠标;中速设备:每秒数千个字节到数十万个字节,如打印机;高速设备,每秒数十万字节到千兆字节,如磁带机,磁盘机。2023/4/255第五章 设备管
4、理5.1 I/O系统系统1.I/O设备设备按信息交换的单位可以分成:按信息交换的单位可以分成:块设备,如磁盘;字符设备,如打印机。按设备的共享属性可以分成:按设备的共享属性可以分成:独占设备:一段时间只允许一个用户访问,如打印机;共享设备:一段时间内允许多个进程同时访问,如磁盘;虚拟设备:将一台独占设备变成若干台逻辑设备,如虚拟内存。2023/4/256第五章 设备管理5.1 I/O系统系统1.I/O设备设备设备与控制器的接口:设备与控制器的接口:设备不直接与CPU进行通信,而是与设备控制器通信,有三种类型的信号:数据信号线:用于在设备和设备控制器之间传送数据信号;控制信号线:作为由设备控制器
5、向I/O设备发送控制信号时的通路;状态信号线:用于传送指示设备当前状态的信号。I/O设备设备缓冲转换器控制逻辑信信号号数数据据至设至设备控备控制器制器数据信号线状态信号线控制信号线2023/4/257第五章 设备管理5.1 I/O系统系统2.设备控制器设备控制器设备控制器的基本功能设备控制器的基本功能接收和识别命令:接收和识别命令:CPU可以向控制器发送不同的命令,设备控制器负责接收并识别这些命令;数据交换:数据交换:实现CPU与控制器间,控制器与设备间的数据交换;标识和报告设备状态:标识和报告设备状态:控制器应记下设备的状态供CPU了解;地址识别:地址识别:系统中的每个设备也有一个地址,设备
6、控制器必须能够识别它所控制的每个设备的地址;数据缓冲:数据缓冲:I/O设备的速率较低而CPU和内存的速率很高,所以控制器中必须设置缓冲器,输出时,缓冲器暂存由主机高速传来的数据,然后以I/O设备具有的速率将缓冲器中的数据传送给I/O设备,输入时相反;差错控制:差错控制:对由I/O设备传送来的数据进行差错检测,若发现传送中出现了错误,通常还要向CPU报告,CPU将本次传送来的数据作废,重新进行传送。主要职责是控制I/O设备,以实现I/O设备和计算机之间的数据交换。2023/4/258第五章 设备管理5.1 I/O系统系统2.设备控制器设备控制器设备控制器的组成设备控制器的组成设备控制器与处理机的
7、接口:实现CPU与设备控制器之间的通信;设备控制器与设备的接口:控制器中有一个或者多个设备接口,每个接口连接一个设备;I/O逻辑:用于实现对设备的控制。CPU与控制器接口与控制器接口数据寄存器控制/状态寄存器数据状数据状态控制态控制数据线数据线地址线地址线控制线控制线I/O逻辑控制器与设备接口1控制器与设备接口i数据状数据状态控制态控制2023/4/259第五章 设备管理5.1 I/O系统系统3.I/O通道通道I/O通道设备的引入通道设备的引入 设备控制器能大大减少CPU对I/O的干预,但是当主机配置的外设很多时,CPU的负担仍然很重,所以在CPU和设备控制器之间设置通道,其目的是为了建立独立
8、的I/O操作,不仅使数据的传送能独立于CPU,而且能对I/O操作的组织、管理和结束处理尽量独立,使得CPU有更多的时间去进行数据处理。2023/4/2510第五章 设备管理5.1 I/O系统系统3.I/O通道通道通道的类型通道的类型字节多路通道:字节多路通道:按字节交叉方式工作的通道,其数量在几十到数百个,每个子通道连接一台I/O设备,并控制该设备的I/O操作;数组选择通道:数组选择通道:字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道,这种通道可以连接多台高速设备,但是它只含有一个分配型紫铜刀,一段时间只能控制一台设备,所以通道利用率仍然很低;数组多路通道:数组多
9、路通道:将数组选择通道传输速率高和字节多路通道能使各子通道分时并行操作的有点结合形成,既具有很高的数据传输速率,又能获得令人满意的通道利用率。2023/4/2511第五章 设备管理5.1 I/O系统系统3.I/O通道通道瓶颈问题瓶颈问题 存储器通道1通道2控制器1控制器2控制器3控制器4设备1设备2设备3设备4设备5设备6设备7存储器通道1通道2控制器1控制器4I/O设备I/O设备I/O设备I/O设备2023/4/2512第五章 设备管理5.1 I/O系统系统4.总线系统总线系统ISA和和EISA总线总线ISA总线:1984年推出的80286型微机的总线结构,带宽8位,最高传输速率2Mb/s。
10、EISA总线:20世纪80年代末推出,带宽32位,传输速率32Mb/s,可连接12台外部设备。局部总线(局部总线(Local Bus)VESA总线;低价位占领市场,带宽32位,最高传输速率132Mb/s,广泛应用于486微机;缺点:只能连接2-4台设备,无缓冲;PCI总线:支持Pentium系列芯片,1992和1995分别提出PCI总线的V1.0和V2.1规范,后者支持64位系统,有数据缓冲,能连接10种外设,最大传输速率132Mb/s。CPU磁盘控制器存储器打印机控制器其它控制器磁盘控制器打印机系统总线2023/4/2513第五章 设备管理5.2 I/O控制方式控制方式 用于早期的计算机系统
11、,无中断机构,处理机对设备的控制采取忙-等待方式,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费,造成这种浪费的原因就是CPU无中断机构。1.程序程序I/O方式方式 在现代计算机系统中,毫无例外地引入了中断机构,当某进程要启动某个I/O设备时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回执行原来的任务,此时设备控制器按照该命令的要求去控制指定的I/O设备,CPU和I/O设备并行地工作。在I/O设备输入每个数据的过程中,由于无需CPU干预,因而可使CPU与I/O设备并行工作,仅当输完一个数据时
12、,才需要CPU花费极短的时间去做些中断处理,所以这种方式可以使CPU和I/O设备同时处于忙碌状态,从而提高了整个系统的资源利用率和吞吐量。2.中断驱动中断驱动I/O方式方式2023/4/2514第五章 设备管理5.2 I/O控制方式控制方式程序程序I/O方式方式中断驱动中断驱动I/O方式方式向I/O控制器发读指令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态?传送完成?下一条指令完成CPU-内存I/O-CPU出错I/O-CPUCPU-I/O就绪未就绪未完向I/O控制器发读指令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态?传送完成?下一条指令完成CPU-内存
13、I/O-CPU出错I/O-CPUCPU-I/O就绪未完CPU做其它事中断2023/4/2515第五章 设备管理5.2 I/O控制方式控制方式DMA方式(方式(Direct Memory Access)的引入)的引入 针对中断驱动I/O方式以字(节)为单位进行I/O的,每当完成一个字(节)的I/O时,控制器就要向CPU请求一次中断,这种方式应用于块设备是极其低效的。3.直接存储器访问(直接存储器访问(DMA)I/O控制方式控制方式DMA方式的特点方式的特点数据传输的基本单位是数据块;所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传
14、送是在控制器的控制下完成的。DMA方式的优点方式的优点 较之中断驱动方式,成百倍地减少了CPU对I/O的干预,进一步提高了CPU和I/O设备的并行操作度。向I/O控制器发布读块命令下一条指令向I/O控制器发布读块命令DMA-CPUCPU-DMACPU做其它事中断2023/4/2516第五章 设备管理5.2 I/O控制方式控制方式DMA控制器的组成控制器的组成主机与DMA控制器的接口DMA控制器与块设备的接口I/O控制逻辑 3.直接存储器访问直接存储器访问DMA方式方式DMA控制器设置如下四类寄存器:控制器设置如下四类寄存器:命令/状态寄存器CR 内存地址寄存器MAR 数据寄存器DC 数据计数器
15、CR系统总线CPU内存主机-控制器接口命令DRMARDCCRI/O控制逻辑控制器-块设备接口countDMA控制器2023/4/2517第五章 设备管理5.2 I/O控制方式控制方式DMA的工作过程的工作过程 当CPU从磁盘读入一个数据块时,便向磁盘控制器发送读指令,该命令被送到其中的命令寄存器,同时,还须发送本次要将数据读入的内存起始地址,将地址读入内存地址寄存器MAR中,本次要读数据的字节数读入数据计数器DC,降低至送到DMA控制器的I/O控制逻辑上,启动DMA控制器进行数据传送,CPU可以去处理其他任务。3.直接存储器访问直接存储器访问DMA方式方式设置MAR和DC初值启动DMA传送命令
16、挪用存储器周期传送数据字存储器地址增1字计数寄存器减1DC=0?请求中断否是在继续执行用户程序的同时,准备下一次传送2023/4/2518第五章 设备管理5.2 I/O控制方式控制方式I/O通道控制方式的引入通道控制方式的引入 DMA方式相比中断方式显著减少了CPU的干预,并且以数据块为传送单位,但CPU每发出一条I/O指令,也只能读/写一个连续的数据块,如果需要一次去读多个数据块,并且分别传送到不同的内存区,必须由CPU分别发出多条I/O指令,并且进行多次中断处理才能完成。为此,引入通道方式,可以进一步减少CPU的干预,可以实现CPU、通道和I/O设备的并行操作,从而更有效地提高整个系统的资
17、源利用率。4.I/O通道控制方式通道控制方式2023/4/2519第五章 设备管理5.2 I/O控制方式控制方式 4.I/O通道控制方式通道控制方式通道程序通道程序 通道通过执行通道程序,并与设备控制器共同实现对I/O设备的控制。通道程序是由一系列通道指令(通道命令)所构成,通道指令包含以下信息:操作码:操作码:规定了指令所执行的操作,如读、写、控制等等;内存地址:内存地址:标明字符送入内存(读操作)和从内存取出(写操作)时的内存首址;计数:计数:表示本条指令所要读(或写)数据的字节数;通道程序结束位通道程序结束位P:表示通道程序是否结束,P=1表示本条指令是通道程序的最后一条指令;记录结束标
18、志记录结束标志R:R=0表示本通道指令与下一条指令所处理的数据是否属于一条记录。2023/4/2520第五章 设备管理5.3 缓冲管理缓冲管理 1.缓冲的引入缓冲的引入缓和缓和CPU与与I/O设备间速度不匹配的矛盾设备间速度不匹配的矛盾 凡是数据到达速率与其离去速率不同的地方,都可以设置缓冲区。减少对减少对CPU的中断频率,放宽对的中断频率,放宽对CPU中断响应时间的限制中断响应时间的限制提高提高CPU和和I/O设备之间的并行性设备之间的并行性 缓冲的引入可显著地提高CPU和I/O设备间的并行操作读,提高系统的吞吐量和设备的利用率。9.6kb/s1位缓冲(a)(a)9.6kb/s送内存(b)8
19、位缓冲寄存器9.6kb/s送内存(c)8位缓冲寄存器2023/4/2521第五章 设备管理5.3 缓冲管理缓冲管理 2.单缓冲和双缓冲单缓冲和双缓冲单缓冲单缓冲 凡是数据到达速率与其离去速率不同的地方,都可以设置缓冲区。双缓冲双缓冲 设备输入时,先将数据送入第一个缓冲区,装满后再转向第二个缓冲区,此时操作系统可以从第一个缓冲区移出数据,送入用户进程,接着由CPU对数据进行计算。工作区用户进程缓冲区1操作系统缓冲区2I/O设备工作区用户进程缓冲区I/O设备输入(T)传送(M)处理(C)2023/4/2522第五章 设备管理5.3 缓冲管理缓冲管理 3.循环缓冲循环缓冲循环缓冲的组成循环缓冲的组成
20、(1)多个缓冲区:用于装输入数据的空缓冲区R,已装满数据的缓冲区G以及计算进程正在使用的现行工作缓冲区C。(2)多个指针:用于指示计算进程下一个可用缓冲区的指针Nextg,指示输入进程下次可用的空缓冲区R的指针Nexti,以及用于指示计算进程正在使用的缓冲区C的指针Current。循环缓冲的使用循环缓冲的使用(1)Getbuf过程:将指针Nextg所指示的缓冲区给进程,把它改为现行工作缓冲区,Nextg移向下一个G缓冲区;(2)Releasebuf过程:计算进程把C缓冲区中的数据提取完毕时,调用Releasebuf释放缓冲区,将当前工作缓冲区C改为空缓冲区。进程同步进程同步(1)Nexti指针
21、追上Nextg:输入进程输入数据速度大于计算进程处理数据速度,缓冲区已装满,输入进程应阻塞,直到计算进程把某个缓冲区数据全部提取完;(2)Nextg指针追赶上Nexti指针:意味着输入进程的速度低于计算进程处理数据的速度,缓冲区都被抽空,计算进程应阻塞,直至输入进程又装满某个缓冲区。2023/4/2523第五章 设备管理5.3 缓冲管理缓冲管理 4.缓冲池缓冲池缓冲池的组成缓冲池的组成缓冲池包括三种类型的缓冲区:空缓冲区,装满输入数据的缓冲区,装满输出数据的缓冲区;三个队列:空缓冲队列emq,输入队列inq,输出队列outg;四个工作缓冲区:用于收容输入数据的工作缓冲区hin,用于提取输入数据
22、的工作缓冲区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)begin Wait(RS(type);Addbuf(type,number);Signal(MS(type);Signal(RS(type);end2023/4/2524第五章 设备管理5.3 缓冲
23、管理缓冲管理 4.缓冲池缓冲池缓冲区的工作方式缓冲区的工作方式(1)收容输入:当输入进程需要输入数据时,调用Getbuf(emq)过程,把空缓冲队列emq的队首摘下一空缓冲区,作为收容输入的工作缓冲区hin,装满后调用Putbuf(inq,hin),将缓冲区挂在输入队列inq上;(2)提取输入:计算进程需要数据时,调用Getbuf(inq)过程,从输入队列inq队首取得一个缓冲区,作为提取输入的缓冲区;(3)收容输出:计算进程需要输出数据时,调用Getbuf(emq)过程从空缓冲区emq的队首取得空缓冲区;(4)提取输出:由输出进程调用Getbuf(outq)过程,从输出队列队首取得一装满输出
24、数据的缓冲区,作为提取输出工作缓冲区sout。用用户户程程序序收容输入收容输入缓冲池缓冲池hinsoutsinhout提取输出提取输出收容输出收容输出收容输出提取输入提取输入2023/4/2525第五章 设备管理5.4 I/O软件软件 1.I/O软件的设计目标和原则软件的设计目标和原则与具体设备无关与具体设备无关 I/O软件应该屏蔽设备的具体细节,其功能不受具体I/O设备的影响。缓冲技术缓冲技术 I/O软件应能屏蔽块设备与字符设备的缓冲差异。总体设计目标是高效性和通用性,前者是确保总体设计目标是高效性和通用性,前者是确保I/O设备与设备与CPU的并发性,的并发性,以提高资源的利用率;后者是指尽
25、可能地提供简单抽象、清晰而统一的以提高资源的利用率;后者是指尽可能地提供简单抽象、清晰而统一的接口,采用标准的方法,来管理所有设备以及所需的接口,采用标准的方法,来管理所有设备以及所需的I/O操作操作。统一命名统一命名 对各类设备采取预先设计的、统一的逻辑名称进行命名,所有软件都以逻辑名称访问设备。对错误的处理对错误的处理 对于错误的处理,尽量在接近硬件的层面处理。设备的分配和释放设备的分配和释放 I/O软件必须能够同时妥善解决独占设备和共享设备带来的问题。I/O控制方式控制方式 针对不同传输速率的设备,综合系统效率和系统代价因素,合理选择I/O控制方式。2023/4/2526第五章 设备管理
26、5.4 I/O软件软件 1.I/O软件的设计目标和原则软件的设计目标和原则用户层软件:用户层软件:实现和用户交互的接口。设备独立性软件:设备独立性软件:负责实现与设备驱动器的统一接口、设备命名、保护以及设备的分配和释放。设备驱动程序:设备驱动程序:与硬件直接相关,实现系统指令,驱动I/O设备工作。中断处理程序:中断处理程序:保存被中断进程的CPU环境,转入相应的中断处理程序,处理完在恢复现场并返回被中断进程。层次结构的层次结构的I/O软件通常可以按照四个层次组织:软件通常可以按照四个层次组织:用户层软件设备独立性软件设备驱动程序中断处理程序硬件I/O应答应答I/O请求请求产生I/O请求、格式化
27、I/O、Spooling映射、保护、分块、缓冲、分配设置设备寄存器,检查寄存器状态执行I/O操作2023/4/2527第五章 设备管理5.4 I/O软件软件 2.中断处理程序中断处理程序唤醒被阻塞的驱动(程序)进程唤醒被阻塞的驱动(程序)进程保护被中断进程的保护被中断进程的CPU环境环境转入相应的设备处理程序转入相应的设备处理程序中断处理中断处理恢复被中断进程的现场恢复被中断进程的现场 中断处理程序的主要工作包括进行进程上下文切换,对处理中断信号源进行测试,读取设备状态和修改进程状态,它包括如下步骤:唤醒被阻塞的驱动程序进程中断请求信号中断请求信号对被中断进程的CPU环境进行保护分析中断原因,
28、转入相应的中断处理程序终端中断处理程序打印机中断处理程序磁盘中断处理程序恢复被中断进程的CPU现场返回被中断的进程,继续执行2023/4/2528第五章 设备管理5.4 I/O软件软件 3.设备驱动程序设备驱动程序 设备驱动程序又称为设备处理程序,它是I/O进程与设备控制器之间的通信程序,其主要任务是接受上层软件发来的抽象I/O请求,把它转换为具体要求,发给设备控制器,启动设备执行。设备处理方式设备处理方式 根据在设备处理时是否设置进程及设置什么样的进程,把设备处理方式分成:(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作;(2)在整个系统设置一个I/O进程,专门用于执行系统中
29、所有设备的I/O操作;(3)不设置专门的设备处理进程,只为各类设备设置相应的设备处理程序(模块)供用户进程或系统进程调用。2023/4/2529第五章 设备管理5.4 I/O软件软件 3.设备驱动程序设备驱动程序设备驱动程序的功能设备驱动程序的功能(1)接收有设备独立性软件发来的命令和参数,并且将其转化为具体需求;(2)检查用户I/O请求的合法性;(3)发出I/O命令,若I/O设备空闲,启动;若I/O设备忙碌,将请求挂在设备队列;(4)及时响应控制器或通道发来的中断请求;(5)应能够根据用户的I/O请求,自动地构成通道程序。2023/4/2530第五章 设备管理5.4 I/O软件软件 3.设备
30、驱动程序设备驱动程序设备驱动程序的特点设备驱动程序的特点(1)它是在请求I/O的进程和设备控制器之间的一个通信和转换程序;(2)它与设备控制器和I/O设备的硬件特性紧密相关,对不同类的设备要配置不同的驱动程序;(3)与I/O设备所采用的I/O控制方式紧密相关;(4)与硬件紧密相关,其中的一部分必须用汇编语言书写;(5)它应该允许可重入;(6)它不允许系统调用,但可以允许对某些内核过程的调用。2023/4/2531第五章 设备管理5.4 I/O软件软件 3.设备驱动程序设备驱动程序设备驱动程序的处理过程设备驱动程序的处理过程 1)将抽象的要求转换为具体要求;2)检查I/O请求的合法性;3)读出和
31、检查设备的状态;4)传送必要的参数;5)工作方式的设置;6)启动I/O设备。2023/4/2532第五章 设备管理5.4 I/O软件软件 4.设备独立性设备独立性设备分配时的灵活性设备分配时的灵活性 当程序(进程)以物理设备名称来请求指定设备时,如果设备已经分配或正在检修,则会阻塞进程;如果采用逻辑设备名称来访问,系统会给它分配另一台设备。易于实现易于实现I/O重定向重定向 是指用于I/O操作的设备可以更换(即重定向),而不必改变应用程序。又称为设备无关性,其含义:应用程序独立于具体使用的又称为设备无关性,其含义:应用程序独立于具体使用的物理设备。物理设备。2023/4/2533第五章 设备管
32、理5.4 I/O软件软件 4.设备独立性设备独立性设备独立性软件的功能设备独立性软件的功能(1)执行所有设备公有操作:对独立设备的分配和回收;逻辑设备到物理设备的映射;设备保护;缓冲管理;差错控制;提供独立于设备的逻辑块。(2)向用户层(文件层)软件提供统一的接口。5.设备独立性软件设备独立性软件逻辑设备到物理设备名映射的实现逻辑设备到物理设备名映射的实现 通过逻辑设备表LUT的设置来实现。是指在用户层的一小部分I/O软件,包括与用户程序链接在一起的库函数,以及完全运行于内核之外的一些程序。2023/4/2534第五章 设备管理5.5 设备分配设备分配 1.设备分配中的数据结构设备分配中的数据
33、结构控制器控制表、通道控制表和系统设备表控制器控制表、通道控制表和系统设备表设备控制表设备控制表DCT设备控制表集合设备类型:type设备标志符:deviceid设备状态:等待/不等待 忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针(a)控制器表COCT通道标识符:channelid通道状态:忙/闲与通道连接的控制器表指针通道队列的队首指针通道器队列的队尾指针(b)通道表CHCT设备类设备标识符DCT驱动程序入口表目1表目i(c)系统设备表SDT2023/4/2
34、535第五章 设备管理5.5 设备分配设备分配 2.设备分配时应考虑的因素设备分配时应考虑的因素三种设备分配策略三种设备分配策略独占设备:独占设备:采用独享分配策略,即将一个设备分配给某进程后,便由该进程独占,直至该进程完成或释放该设备;共享设备:共享设备:可同时分配给多个进程使用,但必须合理调度;可虚拟设备:可虚拟设备:一台可虚拟设备是可共享的,可以把它同时分配给多个进程使用,并且对访问该物理设备的先后次序进行控制。2023/4/2536第五章 设备管理5.5 设备分配设备分配 2.设备分配时应考虑的因素设备分配时应考虑的因素设备分配算法设备分配算法(1)先来先服务:根据诸进程对某设备提出请
35、求的先后顺序。(2)优先级高者优先:优先满足进程提出的优先权高的I/O请求。设备分配的安全性设备分配的安全性(1)安全分配方式 这种分配方式中,每当进程发出I/O请求后,便进入阻塞状态,直到I/O操作完成时才被唤醒,这样就摒弃了死锁的四个必要条件之一“请求和保持”条件,从而使得设备分配是安全的;(2)不安全分配方式 这种分配方式中,进程发出I/O请求后继续运行,需要时又发出第二个I/O请求、第三个I/O请求等等,只有当请求设备被其他进程占用时才会阻塞。2023/4/2537第五章 设备管理5.5 设备分配设备分配 3.独占设备的分配程序独占设备的分配程序设备分配程序的改进设备分配程序的改进(1
36、)增加设备的独立性 为了获得设备独立性,进程应使用逻辑设备名请求I/O;(2)考虑多通路情况 为了防止I/O系统中出现“瓶颈”现象,采用多通路的I/O系统结构。基本的设备分配程序基本的设备分配程序分配设备:根据I/O请求中的物理设备名,通过查找系统设备表SDT,找到该设备的DCT,通过设备状态找到空闲,并且不会使系统进入不安全状态情况下分配给进程;分配控制器:在DCT中找出与该设备连接的控制器的COCT,如不忙,则分配;分配通道:在COCT中找到与该控制器连接的通道的CHCT,如不忙,则分配。2023/4/2538第五章 设备管理5.5 设备分配设备分配 4.SPOOLING技术技术 为了缓和
37、CPU的高速性与I/O设备的低速性间的矛盾引入的脱机输入、脱机输出技术。该技术利用专门的外围控制机,实现数据在低速I/O设备和高速磁盘之间的数据传送,此时外围操作可以与CPU对数据的处理同时进行,这种联机情况下的同时外围操作称作SPOOLING(Simultaneous Periphernal Operating On Line),或称为假脱机操作。SPOOLING系统的特点系统的特点(1)提高了I/O的速度;(2)将独占设备改造成共享设备;(3)实现了虚拟设备功能。2023/4/2539第五章 设备管理5.5 设备分配设备分配SPOOLING系统的组成系统的组成(1)输入井和输出井;(2)输
38、入缓冲区和输出缓冲区;(3)输入进程SPi和输出进程SPo。磁盘输入缓冲区Bi输出缓冲区Bo输入井输出井输入进程SPi输出进程SPo输入设备输出设备 4.SPOOLING技术技术2023/4/2540第五章 设备管理5.6 磁盘存储器的管理磁盘存储器的管理数据的组织和格式数据的组织和格式磁盘设备可包括一或多个物理盘片;每个盘片分一个或两个存储面;每个存储面分成若干个磁道;每条磁道被划分成若干个扇区。磁盘的类型磁盘的类型(1)固定头磁盘:每条磁道上都有一读/写磁头,所有磁头装在一个刚性磁臂中。(2)移动头磁盘:每个盘面仅配有一个磁头,也被装入磁臂中。1.磁盘的概述磁盘的概述磁盘的访问时间磁盘的访
39、问时间(1)寻道时间Ts=mn+s,其中s为启动磁臂的时间,m是常数;(2)旋转延迟时间:指定扇区移动到磁头下面所经历的时间;(3)传输时间(了解一下)扇区扇区磁道磁道磁道间隔磁道间隔扇区间隔扇区间隔2023/4/2541第五章 设备管理5.6 磁盘存储器的管理磁盘存储器的管理先来先服务先来先服务FCFS 2.磁盘调度磁盘调度最短寻道时间优先最短寻道时间优先SSTF(从100号磁道开始)被访问的下一个磁道号移动距离(磁道数)5545583391918219072160701501038112184146平均寻道长度:55.3(从100号磁道开始)被访问的下一个磁道号移动距离(磁道数)90105
40、832553391638118201501321601018424平均寻道长度:27.52023/4/2542第五章 设备管理5.6 磁盘存储器的管理磁盘存储器的管理SCAN算法算法 2.磁盘调度磁盘调度循环扫描循环扫描CSCAN算法算法(从100号磁道开始,向磁道号增加方向访问)被访问的下一个磁道号移动距离(磁道数)1505016010184249094583255339163811820平均寻道长度:27.8(从100号磁道开始,向磁道号增加方向访问)被访问的下一个磁道号移动距离(磁道数)15050160101842418166382039155165839032平均寻道长度:35.820
41、23/4/2543第五章 设备管理5.6 磁盘存储器的管理磁盘存储器的管理磁盘高速缓存的形式磁盘高速缓存的形式 利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的信息,它是一组在逻辑上属于磁盘,物理上驻留在内存中的盘块。数据交付方式数据交付方式 数据交付是指将磁盘高速缓存中的数据传送给请求者进程,包括两种:数据交付:直接将高速缓存中的数据,传送到请求进程的内存工作区;指针交付:只将指向高速缓存中某区域的指针交给请求进程。3.磁盘高速缓存磁盘高速缓存2023/4/2544第五章 设备管理5.6 磁盘存储器的管理磁盘存储器的管理 3.磁盘高速缓存磁盘高速缓存置换算法置换算法 类似于请求调页(段
42、)页面置换算法,主要考虑以下几点:(1)访问频率(2)可预见性(3)数据的一致性 4.提高磁盘提高磁盘I/O速度的其他方法速度的其他方法 1)提前读 2)延迟写 3)优化物理块的分布 4)虚拟盘 5.廉价磁盘冗余阵列廉价磁盘冗余阵列2023/4/2545第五章 设备管理本章小结本章小结1.本章的概念本章的概念 设备控制器的功能和组成设备控制器的功能和组成 总线系统的发展历史总线系统的发展历史 I/O控制方式的工作流程控制方式的工作流程 DMA控制方式的组成及其工作原理控制方式的组成及其工作原理 中断处理程序的工作过程中断处理程序的工作过程 设备独立性的含义设备独立性的含义 SPOOLING的定
43、义,组成,特点的定义,组成,特点 磁盘调度算法磁盘调度算法2.本章的重点和难点本章的重点和难点设备独立性、设备独立性、SPOOLING、寻道时间、旋转延迟时间、传输时间。、寻道时间、旋转延迟时间、传输时间。2023/4/2546第五章 设备管理本章作业本章作业1.假设有假设有10个进程先后提出了磁盘个进程先后提出了磁盘I/O请求,它们要访问的请求,它们要访问的磁道号分别是:磁道号分别是:78,30,9,15,102,140,156,54,45,125,试用先来先服务试用先来先服务FCFS、最短寻道时间优、最短寻道时间优先先SSTF算法、算法、SCAN和循环扫描和循环扫描CSCAN算法,分别给出算法,分别给出访问过程中每次移动的距离,计算两种算法的平均寻道长访问过程中每次移动的距离,计算两种算法的平均寻道长度。度。2.注:假设磁头从注:假设磁头从100号磁道开始号磁道开始,(对于,(对于SCAN和和CSCAN算法)算法)向磁道号增加方向移动。向磁道号增加方向移动。2023/4/2547第五章 设备管理
限制150内