操作系统第5章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统第5章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课件
- 资源描述:
-
1、2022年8月3日星期三第第5 5章章 设备管理设备管理 2022年8月3日星期三5.1 I/O系统系统5.2 I/O控制方式控制方式5.3 缓冲管理缓冲管理5.4 I/O软件软件5.5 设备分配设备分配5.6 磁盘存储器的管理磁盘存储器的管理2022年8月3日星期三熟练掌握:熟练掌握:I/O I/O系统的硬件结构;软件结构;系统的硬件结构;软件结构;I/OI/O系统的控制系统的控制方式;缓冲管理。方式;缓冲管理。掌握:掌握:缓冲的分类;设备分配;磁盘调度算法缓冲的分类;设备分配;磁盘调度算法。了解:了解:磁盘的性能。磁盘的性能。2022年8月3日星期三 操作系统操作系统的输入的输入/输出管理
2、(简称输出管理(简称I/OI/O管理,或称设备管理)管理,或称设备管理)负责管理和控制负责管理和控制I/OI/O操作和操作和I/OI/O设备。设备。1.I/O1.I/O设备类型设备类型 1 1)按所属关系分类)按所属关系分类 系统设备、用户设备系统设备、用户设备 2 2)按)按I/OI/O特性分类特性分类 字符设备、字符块设备字符设备、字符块设备 3 3)按自愿分配方式分类)按自愿分配方式分类 独占设备、共享设备、虚拟设备独占设备、共享设备、虚拟设备5.1 I/O5.1 I/O系统系统 5.1.1 I/O5.1.1 I/O设备设备2022年8月3日星期三缓冲缓冲转换器转换器控制逻辑控制逻辑I/
3、OI/O设备设备数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器信号信号数据数据设备与控制器间接口的信号线设备与控制器间接口的信号线2.2.设备与控制器之间接口的数据线设备与控制器之间接口的数据线2022年8月3日星期三5.1.2 5.1.2 设备控制设备控制器器 接收和识别命令接收和识别命令标志和报告设备的状态标志和报告设备的状态交换数据交换数据地址识别地址识别基本功能基本功能1.1.设备控制器的基本功能设备控制器的基本功能2022年8月3日星期三CPU与设备控制器与设备控制器的接口的接口设备控制器与设备的接口设备控制器与设备的接口I/O逻辑逻辑2.2.设
4、备控制器的组成设备控制器的组成2022年8月3日星期三5.1.3 I/O5.1.3 I/O通道通道1.I/O1.I/O通道设备的引入通道设备的引入 当主机配置的外设很多时,仅有设备控制器是远远不够的,当主机配置的外设很多时,仅有设备控制器是远远不够的,CPUCPU的负担依然很重,于是在的负担依然很重,于是在CPUCPU和设备控制器之间又增设了通道,这样和设备控制器之间又增设了通道,这样可使一些原来由可使一些原来由CPUCPU处理的处理的I/OI/O任务转由通道来承担,从而把任务转由通道来承担,从而把CPUCPU从繁从繁杂的杂的I/OI/O任务中解脱出来,提高了计算机系统的任务中解脱出来,提高了
5、计算机系统的I/OI/O效率。效率。2.2.通道通道类型类型 1 1)字节多路通道)字节多路通道 2 2)数组选择通道)数组选择通道 3 3)数组多路通道)数组多路通道 3.3.瓶颈问题瓶颈问题2022年8月3日星期三5.2.15.2.1 程序程序I/OI/O方式方式CPUCPU发发startstart命令命令等待等待执行下一条指令执行下一条指令开始数据传送开始数据传送控制控制/状态寄存状态寄存器置为器置为donedone(a a)输入)输入是是外围设备外围设备接收到接收到startstart命令命令控制控制/状态寄存器置为状态寄存器置为donedone等待等待CPUCPU的下一条指令的下一条
6、指令准备完毕?准备完毕?(b b)输出)输出是是做接收或发送数据准备做接收或发送数据准备否否5.2 I/O5.2 I/O控制方式控制方式 2022年8月3日星期三使用中断机制的系统,输入请求的执行步骤如下:使用中断机制的系统,输入请求的执行步骤如下:(1 1)应用程序请求读操作)应用程序请求读操作(2 2)设备驱动程序查询设备状态寄存器,确定设备的忙闲状态。)设备驱动程序查询设备状态寄存器,确定设备的忙闲状态。(3 3)驱动程序向设备控制器命令寄存器输入命令,启动设备。)驱动程序向设备控制器命令寄存器输入命令,启动设备。(4 4)当驱动程序完成上述工作后,根据操作情况保存相应信息,这些信)当驱
7、动程序完成上述工作后,根据操作情况保存相应信息,这些信息一开始是保存在设备表中,系统中的每台设备都有对应的表项,然后息一开始是保存在设备表中,系统中的每台设备都有对应的表项,然后CPUCPU就可以分配其他应用程序使用。就可以分配其他应用程序使用。(5 5)设备完成了)设备完成了I/OCAOZUO,I/OCAOZUO,中断中断CPUCPU,引起中断处理程序的运行。,引起中断处理程序的运行。(6 6)中断处理程序确定哪个设备引起的中断,然后转移到该设备对应的)中断处理程序确定哪个设备引起的中断,然后转移到该设备对应的设备处理程序执行。设备处理程序执行。(7 7)设备处理程序重新从设备表中找到等待)
8、设备处理程序重新从设备表中找到等待I/OI/O操作的状态信息。操作的状态信息。(8 8)设备处理程序读控制器数据寄存器的内容,然后写到用户进程的内)设备处理程序读控制器数据寄存器的内容,然后写到用户进程的内存区。存区。5.2.25.2.2 中断驱动中断驱动I/OI/O控制方式控制方式2022年8月3日星期三5.2.35.2.3 直接直接存储器存储器访问访问I/OI/O控制方式控制方式1 1DMADMA控制器的组成控制器的组成DMADMA控制器由三部分组成:主机与控制器由三部分组成:主机与DMADMA控制器的接口;控制器的接口;DMADMA控控制器与块设备的接口;制器与块设备的接口;I/OI/O
9、控制逻辑。图示出了控制逻辑。图示出了DMADMA控制器的组成。控制器的组成。这里主要介绍主机与控制器之间的接口。这里主要介绍主机与控制器之间的接口。2022年8月3日星期三DMADMA控制器的组成控制器的组成 DRMARDCCRI/O控制逻辑主机控制器接口控制器与块设备接口count内存CPU命令系统总线DMA控制器2022年8月3日星期三2.DMA2.DMA工作过程工作过程DMADMA方式的工作流程图方式的工作流程图 设置M AR 和 DC 初值启动DMA传送命令挪用存储器周期传送数据字存储器地址增1字计数寄存器减1DC=0?请求中断在继续执行用户程序的同时,准备又一次传送否是2022年8月
10、3日星期三1 1I/OI/O通道控制方式的引入通道控制方式的引入虽然虽然DMADMA方式比起中断方式来已经显著地减少了方式比起中断方式来已经显著地减少了CPUCPU的干预,即已由的干预,即已由以字以字(节节)为单位的干预减少到以数据块为单位的干预,但为单位的干预减少到以数据块为单位的干预,但CPUCPU每发出一条每发出一条I/OI/O指令,也只能去读指令,也只能去读(或写或写)一个连续的数据块。而当我们需要一次去读一个连续的数据块。而当我们需要一次去读多个数据块且将它们分别传送到不同的内存区域,或者相反时,则须由多个数据块且将它们分别传送到不同的内存区域,或者相反时,则须由CPUCPU分别发出
11、多条分别发出多条I/OI/O指令及进行多次中断处理才能完成。指令及进行多次中断处理才能完成。5.2.45.2.4 I/OI/O通道控制方式通道控制方式2022年8月3日星期三I/OI/O通道控制方式通道控制方式2022年8月3日星期三I/OI/O通道方式是通道方式是DMADMA方式的发展,它可进一步减少方式的发展,它可进一步减少CPUCPU的干预,即把的干预,即把对一个数据块的读对一个数据块的读(或写或写)为单位的干预减少为对一组数据块的读为单位的干预减少为对一组数据块的读(或写或写)及有关的控制和管理为单位的干预。同时,又可实现及有关的控制和管理为单位的干预。同时,又可实现CPUCPU、通道
12、和、通道和I/OI/O设设备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当当CPUCPU要完成一组相关的读要完成一组相关的读(或写或写)操作及有关控制时,只需向操作及有关控制时,只需向I/OI/O通道发通道发送一条送一条I/OI/O指令,以给出其所要执行的通道程序的首址和要访问的指令,以给出其所要执行的通道程序的首址和要访问的I/OI/O设设备,通道接到该指令后,通过执行通道程序便可完成备,通道接到该指令后,通过执行通道程序便可完成CPUCPU指定的指定的I/OI/O任务。任务。2022年8月3日星期三2 2通道程序
13、通道程序通道是通过执行通道程序,并与设备控制器共同实现对通道是通过执行通道程序,并与设备控制器共同实现对I/OI/O设备的控设备的控制的。通道程序是由一系列通道指令制的。通道程序是由一系列通道指令(或称为通道命令或称为通道命令)所构成的。通道所构成的。通道指令与一般的机器指令不同,在它的每条指令中都包含下列诸信息:指令与一般的机器指令不同,在它的每条指令中都包含下列诸信息:(1)(1)操作码。操作码规定了指令所执行的操作,如读、写、控制等操作码。操作码规定了指令所执行的操作,如读、写、控制等操作。操作。(2)(2)内存地址。内存地址标明字符送入内存内存地址。内存地址标明字符送入内存(读操作读操
14、作)和从内存取出和从内存取出(写操作写操作)时的内存首址。时的内存首址。(3)(3)计数。该信息表示本条指令所要读计数。该信息表示本条指令所要读(或写或写)数据的字节数据的字节数。数。(4)(4)通道程序结束位通道程序结束位P P。该位用于表示通道程序是否结束。该位用于表示通道程序是否结束。P=1P=1表示表示本条指令是通道程序的最后一条指令。本条指令是通道程序的最后一条指令。(5)(5)记录结束标志记录结束标志R R。R=0R=0表示本通道指令与下一条指令所处理的数表示本通道指令与下一条指令所处理的数据是同属于一个记录;据是同属于一个记录;R=1R=1表示这是处理某记录的最后一条指令。表示这
15、是处理某记录的最后一条指令。2022年8月3日星期三5.35.3 缓冲管理缓冲管理 引入缓冲的原因有如下几点:引入缓冲的原因有如下几点:(1 1)缓和)缓和CPUCPU与与I/OI/O设备间速度不匹配的矛盾。设备间速度不匹配的矛盾。(2 2)协调逻辑记录大小和物理记录大小不一致)协调逻辑记录大小和物理记录大小不一致的问题。的问题。(3 3)减少对)减少对CPUCPU的中断次数,放宽对中断响应时间的中断次数,放宽对中断响应时间的限制。的限制。5.3.15.3.1 缓冲的引入缓冲的引入2022年8月3日星期三1 1单缓冲单缓冲(Single Buffer)(Single Buffer)在单缓冲情况
16、下,每当用户进程发出一在单缓冲情况下,每当用户进程发出一I/OI/O请求时,操作系统便在主请求时,操作系统便在主存中为之分配一缓冲区,如图所示。在块设备输入时,假定从磁盘把一存中为之分配一缓冲区,如图所示。在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为块数据输入到缓冲区的时间为T T,操作系统将该缓冲区中的数据传送到用,操作系统将该缓冲区中的数据传送到用户区的时间为户区的时间为M M,而,而CPUCPU对这一块数据处理对这一块数据处理(计算计算)的时间为的时间为C C。由于。由于T T和和C C是是可以并行的可以并行的(见书中图见书中图5-11)5-11),当,当T T C C时,系
17、统对每一块数据的处理时间为时,系统对每一块数据的处理时间为M M+T T,反之则为,反之则为M M+C C,故可把系统对每一块数据的处理时间表示为,故可把系统对每一块数据的处理时间表示为Max(Max(C C,T T)+)+M M。5.3.25.3.2 单缓冲和双缓冲单缓冲和双缓冲2022年8月3日星期三单缓冲工作示意图单缓冲工作示意图 工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程2022年8月3日星期三2 2双缓冲双缓冲(Double Buffer)(Double Buffer)为了加快输入和输出速度,提高设备利用率,人们
18、又引入了双为了加快输入和输出速度,提高设备利用率,人们又引入了双缓冲区机制,也称为缓冲对换缓冲区机制,也称为缓冲对换(Buffer Swapping)(Buffer Swapping)。在设备输入时,。在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时操作系先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时操作系统可以从第一缓冲区中移出数据,并送入用户进程。接着由统可以从第一缓冲区中移出数据,并送入用户进程。接着由CPUCPU对对数据进行计算。在双缓冲时,系统处理一块数据的时间可以粗略地数据进行计算。在双缓冲时,系统处理一块数据的时间可以粗略地认为是认为是Max(CMax(C
19、,T)T)。如果。如果CTCTCT,则,则可使可使CPUCPU不必等待设备输入。对于字符设备,若采用行输入方式,不必等待设备输入。对于字符设备,若采用行输入方式,则采用双缓冲通常能消除用户的等待时间,即用户在输入完第一行则采用双缓冲通常能消除用户的等待时间,即用户在输入完第一行之后,在之后,在CPUCPU执行第一行中的命令时,用户可继续向第二缓冲区输执行第一行中的命令时,用户可继续向第二缓冲区输入下一行数据。入下一行数据。2022年8月3日星期三循环缓冲主要由以下几部分组成:循环缓冲主要由以下几部分组成:(1)(1)多个缓冲区。在循环缓冲中包括多个缓冲区,其每个缓冲区多个缓冲区。在循环缓冲中包
20、括多个缓冲区,其每个缓冲区的大小相同。作为输入的多缓冲区可分为三种类型:用于装输入数据的大小相同。作为输入的多缓冲区可分为三种类型:用于装输入数据的空缓冲区的空缓冲区R R、已装满数据的缓冲区、已装满数据的缓冲区G G以及计算进程正在使用的现行工以及计算进程正在使用的现行工作缓冲区作缓冲区C C。(2)(2)多个指针。作为输入的缓冲区可设置三个指针:用于指示计多个指针。作为输入的缓冲区可设置三个指针:用于指示计算进程下一个可用缓冲区算进程下一个可用缓冲区G G的指针的指针NextgNextg、指示输入进程下次可用的空、指示输入进程下次可用的空缓冲区缓冲区R R的指针的指针NextiNexti,
21、以及用于指示计算进程正在使用的缓冲区,以及用于指示计算进程正在使用的缓冲区C C的指的指针针CurrentCurrent。5.3.35.3.3 循环缓冲循环缓冲2022年8月3日星期三1 1缓冲池的组成缓冲池的组成对于既可用于输入又可用于输出的公用缓冲池,其中至少应含对于既可用于输入又可用于输出的公用缓冲池,其中至少应含有以下三种类型的有以下三种类型的缓冲区缓冲区:空空(闲闲)缓冲区;缓冲区;装满输入数据的装满输入数据的缓冲区;缓冲区;装满输出数据的缓冲区。装满输出数据的缓冲区。5.3.45.3.4 缓冲池缓冲池2022年8月3日星期三2 2缓冲区的工作方式缓冲区的工作方式缓冲区可以工作在收容
22、输入、提取输入、收容输出和提取输出四种缓冲区可以工作在收容输入、提取输入、收容输出和提取输出四种工作方式下,如图所示。工作方式下,如图所示。hinsoutsinhout收容输入提取输出用户程序提取输入收容输出缓冲池缓冲区的工作方式缓冲区的工作方式2022年8月3日星期三(1)(1)收容输入。在输入 进 程 需 要 输 入 数 据 时,便 调 用收容输入。在输入 进 程 需 要 输 入 数 据 时,便 调 用Getbuf(emq)Getbuf(emq)过程,从空缓冲队列过程,从空缓冲队列emqemq的队首摘下一空缓冲区,把它的队首摘下一空缓冲区,把它作为收容输入工作缓冲区作为收容输入工作缓冲区h
23、inhin。然后,把数据输入其中,装满后再调。然后,把数据输入其中,装满后再调用用Putbuf(inqPutbuf(inq,hin)hin)过程,将该缓冲区挂在输入队列过程,将该缓冲区挂在输入队列inqinq上。上。(2)(2)提取输入。当计算进程需要输入数据时,调用提取输入。当计算进程需要输入数据时,调用Getbuf(inq)Getbuf(inq)过程,从输入队列过程,从输入队列inqinq的队首取得一个缓冲区,作为提取输入工作缓的队首取得一个缓冲区,作为提取输入工作缓冲区冲区(sin)(sin),计算进程从中提取数据。计算进程用完该数据后,再调,计算进程从中提取数据。计算进程用完该数据后,
24、再调用用Putbuf(emqPutbuf(emq,sin)sin)过程,将该缓冲区挂到空缓冲队列过程,将该缓冲区挂到空缓冲队列emqemq上。上。2022年8月3日星期三(3)(3)收容输出。当计算进程需要输出时,调用收容输出。当计算进程需要输出时,调用Getbuf(emq)Getbuf(emq)过程从过程从空缓冲队列空缓冲队列emqemq的队首取得一个空缓冲区,作为收容输出工作缓冲区的队首取得一个空缓冲区,作为收容输出工作缓冲区houthout。当其中装满输出数据后,又调用。当其中装满输出数据后,又调用Putbuf(outqPutbuf(outq,hout)hout)过程,将过程,将该缓冲区
25、挂在该缓冲区挂在outqoutq末尾。末尾。(4)(4)提取输出。由输出进程调用提取输出。由输出进程调用Getbuf(outq)Getbuf(outq)过程,从输出队列过程,从输出队列的队首取得一装满输出数据的缓冲区,作为提取输出工作缓冲区的队首取得一装满输出数据的缓冲区,作为提取输出工作缓冲区soutsout。在数据提取完后,再调用在数据提取完后,再调用Putbuf(emqPutbuf(emq,sout)sout)过程,将该缓冲区挂在空过程,将该缓冲区挂在空缓冲队列末尾。缓冲队列末尾。2022年8月3日星期三5.45.4 I/O I/O 软件软件 用户必须掌握用户必须掌握I/O I/O 系统
展开阅读全文