




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12022-3-76.7 6.7 缓冲管理缓冲管理6.7.16.7.1缓冲的引入缓冲的引入缓冲技术的主要原因是:#缓和CPU与I/O设备间速度不匹配的矛盾。 计算机系统中的各种设备(包括中央处理机)的运行速度差异甚大,CPU的运行速度是以微秒甚至以纳秒计,而设备的运行速度则是以毫秒甚至以秒计;(速度的差异) 事实上,凡在数据到达速率与其离去速率不同的地方,都可设置缓冲区,以缓和它们之间的速率不匹配的矛盾。22022-3-7#减少对CPU中断频率,放宽对CPU中断的响应时间的限制。例(p209) #解决数据粒度不匹配的问题。#为了提高CPU与外设的并行程度 缓冲的引入可显著的提高CPU和I/P设
2、备间的并行操作程度,提高系统在吞吐量和设备的利用率。32022-3-7图 5-10 利用缓冲寄存器实现缓冲 1位缓冲9.6 Kb/s8位缓冲寄存器送内存9.6 Kb/s8位缓冲寄存器9.6 Kb/s送内存(b)(a)(c)42022-3-7#如用一位缓冲来接收,则必须在每收到一位数据时便中断一次CPU,并在下一位数据到来之前要求CPU进行中断处理以取走输入数据 #若设一个8位的缓冲,则可每收8位数据中断一次CPU,但在第9位数据到来之前仍必须完成中断处理#若再增加8位的缓冲,则可每收8位数据中断一次CPU,并允许CPU在下8位数据到来期间处理前8位数据的中断。52022-3-7常用的缓冲技术常
3、用的缓冲技术1 1、单缓冲、单缓冲2 2、双缓冲、双缓冲3 3、环形缓冲、环形缓冲4 4、缓冲池、缓冲池 62022-3-76.7.2 单缓冲单缓冲最简单的一种缓冲形式。当进程发出一最简单的一种缓冲形式。当进程发出一I/O请求请求时,时,OS为之分配一缓冲区。为之分配一缓冲区。对于输入:设备先将数据送入缓冲区,对于输入:设备先将数据送入缓冲区,OS再将再将数据传给进程。数据传给进程。对于输出:进程先将数据传入缓冲区,对于输出:进程先将数据传入缓冲区,OS再将再将数据送出到设备。数据送出到设备。72022-3-7n单缓冲:只为设备设置一个缓冲区的情形称为单缓冲:只为设备设置一个缓冲区的情形称为“
4、单缓冲单缓冲”。图是单缓冲的工作示意,它表示产。图是单缓冲的工作示意,它表示产生数据者(即生产者)不是把数据直接送给接收生数据者(即生产者)不是把数据直接送给接收数据者(即接收者),而是把数据送入到所设置数据者(即接收者),而是把数据送入到所设置的缓冲区中。接收数据者总是从缓冲区中去取所的缓冲区中。接收数据者总是从缓冲区中去取所需要的数据。需要的数据。n对于块设备:系统处理时间为对于块设备:系统处理时间为MAX(C,T)+M工作区处理(C )缓冲区传送(M )输入(T )I/O 设备(a )T1M1C1T2M2C2T3M3C3T4t(b )用户进程82022-3-7双缓冲技术双缓冲技术为了加快
5、输入输出速度,引入双缓冲技术。为了加快输入输出速度,引入双缓冲技术。原理:原理:设置两个缓冲区buf1和buf2。读入数据时,首先输入设备向buf1填入数据,然后进程从buf1提取数据,在进程从buf1提取数据的同时。输入设备向buf2中填数据。当buf1取空时,进程又从buf2中提取数据,与此同时输入设备向buf1填数。如此交替使用两个缓冲区,使CPU和设备的并行操作的程度进一步提高。 92022-3-7双缓冲技术双缓冲技术工作区用户进程缓冲区1缓冲区2I/O 设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)对于一块数据的处理时间约为对
6、于一块数据的处理时间约为Max(C,T)102022-3-7双缓冲技术双缓冲技术#对于字符设备,若采用行输入方式,则采用双缓冲通常能消除用户的等待时间,即用户在输入完第一行后,在CPU执行第一行中的命令时,用户可继续向第二缓冲区输入下一行数据 #双向通信(P211)缓冲区缓冲区A机B机(a) 单缓冲发送缓冲区接收缓冲区接收缓冲区发送缓冲区A机B机(b) 双缓冲112022-3-76.7.3 6.7.3 环形缓冲技术环形缓冲技术 当生产和消费数据的速度基本匹配时,当生产和消费数据的速度基本匹配时,双缓冲能获得较好效果。但若双缓冲能获得较好效果。但若两者速度相差两者速度相差甚远时,效果不太理想甚远
7、时,效果不太理想。但随着缓冲区的数。但随着缓冲区的数量增加,使情况有所改善。因此引入环形缓量增加,使情况有所改善。因此引入环形缓冲技术。冲技术。122022-3-7环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来。系统中有个缓冲区链首指针,指向第一个缓冲区,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区中的指针指向第一个缓冲区,从而形成循环缓冲区链。如图所示。系统可循环使用这些缓冲区。环形缓冲区用于输入(输出)时,还要有两个指针IN和OUT。132022-3-7图图142022-3-7 环形缓冲的组成环形缓冲的组成n 多个缓冲区(R,G,C)n 多个指
8、针 图 5-14 循环缓冲 RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent152022-3-72. 环形缓冲的使用环形缓冲的使用n Getbuf过程n Releasebuf过程 图 5-14 循环缓冲 RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent162022-3-73.进程同步进程同步 图 5-14 循环缓冲 RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrentNexti指针追赶上Nextg指针。系统受计算限制(2) Nextg指针
9、追赶上Nexti指针。 系统受I/O限制172022-3-76.7.4 6.7.4 缓冲池缓冲池循环缓冲区一般用于特定的进程,属于专用缓冲区,当系统较大时,将会有许多这样的环形缓冲区,这不仅要消耗大量的内存空间,利用率也不高。为了提高缓冲区的利用率,目前广泛流行公用缓冲池,池中的缓冲区可供多个进程共享。 182022-3-76.7.4 6.7.4 缓冲池缓冲池 缓冲池由内存中一组大小相等的缓冲区组成,池中各缓冲区的大小与用于I/O的设备的基本信息单位相似,缓冲池属于系统资源,由系统进行管理。缓冲池中各缓冲区可用于输出信息,也可用于输入信息,并可根据需要组成各种缓冲区队列。 192022-3-7
10、n缓冲池:系统为同类型的缓冲池:系统为同类型的I/O设备设置一个公共缓冲设备设置一个公共缓冲队列,既用于输入,也用于输出。它是多缓冲的一队列,既用于输入,也用于输出。它是多缓冲的一种变异,以避免缓冲区使用上忙闲不均的现象。种变异,以避免缓冲区使用上忙闲不均的现象。n缓冲池组成:缓冲池组成: 3类缓冲区类缓冲区,3个队列和个队列和4种工作缓冲区种工作缓冲区。n无论现在用于输入的还是用于输出的,它们在用完无论现在用于输入的还是用于输出的,它们在用完后,都归还到空闲的缓冲区队列中,受系统的统一后,都归还到空闲的缓冲区队列中,受系统的统一管理和调配。管理和调配。202022-3-72. Getbuf过
11、程和过程和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(MS(type); Addbuf(type, number); Signal(MS(type); Signal(RS(type); end 212022-3-73. 缓冲区的工作方式缓冲区的工作方式收容输入;提取输入;收容输出;提取输出收容输
12、入;提取输入;收容输出;提取输出 图 5-15 缓冲区的工作方式 hinsoutsinhout收 容 输 入提 取 输 出用 户程 序提 取 输 入收 容 输 出缓 冲 池222022-3-7n在利用在利用RS-232接口进行通信时,其通信速率接口进行通信时,其通信速率为为9.6kb/s(b为为bit)。如果在通信接口中仅设。如果在通信接口中仅设置了一个置了一个8位寄存器作为缓冲寄存器,这意味位寄存器作为缓冲寄存器,这意味着大约每隔()的时间便要中断一次着大约每隔()的时间便要中断一次CPU,且要求且要求CPU必须在()时间内予以响应。必须在()时间内予以响应。nA、80us B、0.1ms
13、C、0.8ms D、1msnE、8ms232022-3-7n假定把磁盘上一个数据块中的信息输入到一单缓冲假定把磁盘上一个数据块中的信息输入到一单缓冲区的时间区的时间T为为100us,将缓冲区中的数据传送到用户,将缓冲区中的数据传送到用户区的时间为区的时间为50us,而,而CPU对这一块数据进行计算对这一块数据进行计算的时间为的时间为50us。这样,系统对每一块数据的处理。这样,系统对每一块数据的处理时间为时间为();如果将单缓冲改为双缓冲,则系统对每;如果将单缓冲改为双缓冲,则系统对每一块数据的处理时间为()一块数据的处理时间为()nA、50us 、100us C、150us D、200usn
14、E、250us242022-3-7n缓冲技术中的缓冲池在缓冲技术中的缓冲池在_中中.A、内存、内存 、外存、外存 C、ROM D、寄存器、寄存器n如果如果I/O所花费的时间比所花费的时间比CPU处理时间短得多处理时间短得多的话的话,则缓冲区则缓冲区_.A、最有效、最有效 B、几乎无效、几乎无效C、均衡、均衡 D、以上都不是、以上都不是252022-3-7操作系统中采用缓冲技术的目的是为了增强系操作系统中采用缓冲技术的目的是为了增强系统()能力;为了使多个进程能有效地同时统()能力;为了使多个进程能有效地同时处理输入和输出,最好使用()处理输入和输出,最好使用()nA、串行操作、串行操作 、并行
15、操作、并行操作 C、控制操作、控制操作D、中断操作中断操作nA、缓冲池、缓冲池 、单缓冲、单缓冲 C、双缓冲、双缓冲 D、循环缓冲、循环缓冲n引入缓冲区能使引入缓冲区能使 CPU与与I/O设备之间速度不匹设备之间速度不匹配的情况得到改善,但并不能减少设备中断配的情况得到改善,但并不能减少设备中断CPU的次数。的次数。 ( )262022-3-7n2011n2013272022-3-76.8 6.8 磁盘存储器管理磁盘存储器管理 目前,几乎所有随机存取的文件,都是目前,几乎所有随机存取的文件,都是存放在磁盘上,磁盘存放在磁盘上,磁盘I/O速度的高低将直接速度的高低将直接影响文件系统的性能。影响文
16、件系统的性能。282022-3-7n磁盘设备可包括一或多个盘片,每片分为两磁盘设备可包括一或多个盘片,每片分为两面,每面可分成若干条磁道,各磁道之间留面,每面可分成若干条磁道,各磁道之间留有必要的间隙,每条磁道上可存储相同数目有必要的间隙,每条磁道上可存储相同数目的二进制位。的二进制位。n磁盘密度:每英寸中所存储的位数,显然而磁盘密度:每英寸中所存储的位数,显然而内层磁道的密度较外层磁道的密度高。内层磁道的密度较外层磁道的密度高。n每条磁道又分成若干个扇区,每个扇区的大每条磁道又分成若干个扇区,每个扇区的大小相当于一个盘块,各扇区之间也保留一定小相当于一个盘块,各扇区之间也保留一定的间隙。的间
17、隙。6.8.1 磁盘性能简述磁盘性能简述292022-3-7柱面柱面扇区扇区磁臂磁臂磁头磁头侧视图侧视图302022-3-7磁道磁道扇区扇区俯视图俯视图312022-3-7n信息记录在磁道上,多个盘片,正反两面都信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个用来记录信息,每面一个磁头磁头n所有盘面中处于同一磁道号上的所有磁道组所有盘面中处于同一磁道号上的所有磁道组成一个成一个柱面柱面n物理地址形式:物理地址形式:n 柱面号(磁道号)柱面号(磁道号)n 磁头号磁头号n 扇区号扇区号柱面、磁头、扇区柱面、磁头、扇区322022-3-7柱面、磁头、扇区柱面、磁头、扇区332022-3-
18、7柱面、磁头、扇区柱面、磁头、扇区342022-3-7典型参数典型参数n20G:n 39813 柱面柱面n 16 头头n 63 扇区扇区n60G:n 28733 柱面柱面n 16 头头n 255 扇区扇区352022-3-7n温盘:温盘:IBM公司推出的公司推出的Winchester(温氏温氏)硬硬盘,它的特点是:盘,它的特点是:“工作时,磁头悬浮在高工作时,磁头悬浮在高速转动的盘片上方,而不与盘片直接接触。速转动的盘片上方,而不与盘片直接接触。使用时,磁头沿高速旋转的盘片上做径向移使用时,磁头沿高速旋转的盘片上做径向移动动”,这便是现在所有硬盘的雏形。今天高,这便是现在所有硬盘的雏形。今天高
19、端硬盘容量虽然高达上百端硬盘容量虽然高达上百GB,但它却仍然没,但它却仍然没有脱离有脱离“温彻斯特温彻斯特”的动作模式。的动作模式。 磁盘的格式化磁盘的格式化362022-3-7n温盘中一条磁道格式化的情况。每条磁道含温盘中一条磁道格式化的情况。每条磁道含有有3030个固定大小的扇区,每个扇区容量为个固定大小的扇区,每个扇区容量为600600个字节,其中个字节,其中512512个字节存放数据,其余用作个字节存放数据,其余用作存放控制信息。每个扇区包括两个字段:存放控制信息。每个扇区包括两个字段:n标识符字段标识符字段n数据字段数据字段 磁盘的格式化磁盘的格式化372022-3-7磁盘的格式化磁
20、盘的格式化Gap102031292293Field Gap Field GapGap Field Gap Field Gap17741515201774151520IDDataIDDataGap1292293Field Gap Field1774151520IDDataSectorPhysical Sector 0Physical Sector 1Physical Sector 29BytesSynchByteTrack#Head#Sector#Bytes 1211CRC3SynchByteDataCRC15122600 Bytes/SectorGap图 5-22 磁盘的格式化 382022-
21、3-7n常见的分类有常见的分类有: :n硬盘和软盘硬盘和软盘n单片盘和多片盘单片盘和多片盘n固定头磁盘和活动头磁盘固定头磁盘和活动头磁盘磁盘的类型磁盘的类型392022-3-7n固定头磁盘:每个磁道设置一个磁头,变换固定头磁盘:每个磁道设置一个磁头,变换磁道时不需要磁头的机械移动,速度快但成磁道时不需要磁头的机械移动,速度快但成本高本高n移动头磁盘:一个盘面只有一个磁头,变换移动头磁盘:一个盘面只有一个磁头,变换磁道时需要移动磁头,速度慢但成本低磁道时需要移动磁头,速度慢但成本低磁盘的类型磁盘的类型402022-3-7n磁盘启动时,磁头首先处于磁盘启动时,磁头首先处于0磁道,磁盘磁道,磁盘从接
22、到命令到向目标扇区读取或写入数据从接到命令到向目标扇区读取或写入数据完毕共经历三个阶段:完毕共经历三个阶段: u寻道寻道 :磁头沿径向移动,移到目标扇区所在磁头沿径向移动,移到目标扇区所在磁道的上方(注意,不是目标扇区,而是目磁道的上方(注意,不是目标扇区,而是目标扇区所在的磁道)标扇区所在的磁道)u旋转延迟:旋转延迟:找到目标磁道后通过盘片的旋转,找到目标磁道后通过盘片的旋转,使得要目标扇区转到磁头的下方使得要目标扇区转到磁头的下方 u数据传输:数据在磁盘与内存之间的实际传数据传输:数据在磁盘与内存之间的实际传输输磁盘的访问过程磁盘的访问过程412022-3-7n寻道时间寻道时间Ts:这是指
23、把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即nTs=mn+sn其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘, m=0.2;对高速磁盘,m0.1, 磁臂的启动时间约为2 ms。 这样,对一般的温盘, 其寻道时间将随寻道距离的增加而增大, 大体上是530 ms。 磁盘的访问时间磁盘的访问时间422022-3-7n旋转延迟时间旋转延迟时间Tr:这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms。n最大最小的平均值即旋转半周的时间作为平均旋转延迟时间,有的书上称为平均
24、等待时间。平均旋转延迟时间T为5.55 msn对于软盘,其旋转速度为300 r/min或600 r/min,这样,平均T为50100 ms。磁盘的访问时间磁盘的访问时间432022-3-7磁盘的访问时间磁盘的访问时间n数据传输时间数据传输时间Tt:这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关: rNbTtrNbrTTsa21其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 当一次读/写的字节数相当于半条磁道上的字节数时,Tt与T相同, 因此, 可将访问时间Ta表示为: 442022-3-7练习练习n若磁盘的转速提高一倍,则_。n供选
25、择的答案:供选择的答案:nA. 平均存取时间减半 B. 平均寻道时间减半nC. 存储道密度提高一倍 D. 平均寻道时间不变 452022-3-7磁盘的访问时间磁盘的访问时间n由此看出在访问时间中,寻道时间和旋转延迟时由此看出在访问时间中,寻道时间和旋转延迟时间基本上都与所读写数据的多少无关,而且它通间基本上都与所读写数据的多少无关,而且它通常占据了访问时间的大头。常占据了访问时间的大头。n适当的集中数据传输将有利于提高传输效率适当的集中数据传输将有利于提高传输效率462022-3-7练习练习n磁盘上的每一个物理块要用三个参数来定位,首先磁盘上的每一个物理块要用三个参数来定位,首先要把移动臂移动
26、并定位到不同盘面上具有相同编号要把移动臂移动并定位到不同盘面上具有相同编号的磁道位置,表示该位置的参数称()号。的磁道位置,表示该位置的参数称()号。A柱面柱面 B盘面盘面 C扇区扇区 D磁头磁头n设磁盘的转速为设磁盘的转速为10ms/转,盘面划分转,盘面划分10个扇区,当个扇区,当前磁头在第三块的开始位置,则花费()毫前磁头在第三块的开始位置,则花费()毫秒的时间可以把第二块的信息读到主存(假设,旋秒的时间可以把第二块的信息读到主存(假设,旋转是按由块号从小到大方向的)转是按由块号从小到大方向的)nA、1B、2 C、9 D、10123472022-3-7分析分析n要提高磁盘的访问速度主要应从
27、以下两方面要提高磁盘的访问速度主要应从以下两方面入手:入手:n数据的合理组织数据的合理组织n磁盘的调度算法磁盘的调度算法482022-3-76.8.2 磁盘调度算法磁盘调度算法n当多个访盘请求在等待时,采用一定的策略,对这当多个访盘请求在等待时,采用一定的策略,对这些请求的服务顺序调整安排,旨在降低平均磁盘服些请求的服务顺序调整安排,旨在降低平均磁盘服务时间,达到公平、高效务时间,达到公平、高效n公平:一个公平:一个I/O请求在有限时间内满足请求在有限时间内满足n高效:减少设备机械运动所带来的时间浪费高效:减少设备机械运动所带来的时间浪费n1 先来先服务先来先服务FCFSn2 最短寻道时间优先
28、最短寻道时间优先SSTFn3 SCAN算法算法n4 循环扫描算法循环扫描算法CSCAN492022-3-7n根据进程请求访问磁盘的先后次序进行调度根据进程请求访问磁盘的先后次序进行调度n优点:简单,公平,每个进程的请求都能依优点:简单,公平,每个进程的请求都能依次得到处理;次得到处理;n缺点:效率不高,相邻两次请求可能会造成缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利增加了服务时间,对机械也不利n仅适应于请求磁盘仅适应于请求磁盘I/O的进程数目较少的场合的进程数目较少的场合1 先来先服务先来先服务
29、502022-3-7n假设磁盘访问序列:假设磁盘访问序列:98,183,37,122,14,124,65,67n读写头起始位置:读写头起始位置:53n安排磁头服务序列安排磁头服务序列n计算磁头移动总距离(道数)计算磁头移动总距离(道数)例例512022-3-7图解图解98,183,37,122,14,124,65,67磁头走过的总道数:磁头走过的总道数:640522022-3-7例例图 5-23 FCFS调度算法532022-3-7n优先选择距当前磁头最近的访问请求进行优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先服务,主要考虑寻道优先n 优点:改善了磁盘平均服务时间;优点:改善了
30、磁盘平均服务时间;n 缺点:造成某些访问请求长期等待得不到缺点:造成某些访问请求长期等待得不到服务,服务,“饥饿现象饥饿现象”2 最短寻道时间优先最短寻道时间优先542022-3-7图解图解65,67 , 37, 14 ,98,122,124, 183 磁头走过的总道数:磁头走过的总道数:22498,183,37,122,14,124,65,67552022-3-7例例图 5-24 SSTF调度算法 562022-3-7n克服了最短寻道优先的缺点,既克服了最短寻道优先的缺点,既考虑了距离考虑了距离,同时又同时又考虑了方向考虑了方向n具体做法:当设备无访问请求时,磁头不动;具体做法:当设备无访问
31、请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复的访问请求服务,如此反复3 SCAN算法(电梯算法)算法(电梯算法)572022-3-7图图582022-3-7图解图解37,14, 65,67 , 98, 122, 124, 183磁头走过的总道数:磁头走过的总道数:20898,183,37,122,
32、14,124,65,67592022-3-7例例图 5-24 SCAN调度算法 602022-3-7n(磁头单向移动)(磁头单向移动)n电梯算法杜绝了饥饿,但当请求对磁道的电梯算法杜绝了饥饿,但当请求对磁道的分布是均匀时,磁头回头,近磁头端的请分布是均匀时,磁头回头,近磁头端的请求很少(因为磁头刚经过),而远端请求求很少(因为磁头刚经过),而远端请求较多,这些请求等待时间要长一些。较多,这些请求等待时间要长一些。例如:总是自里向外移动,当磁头移动到最例如:总是自里向外移动,当磁头移动到最外的磁道并访问后,立即返回到最里的欲外的磁道并访问后,立即返回到最里的欲访问的磁道,返回时不为任何的等待访问
33、访问的磁道,返回时不为任何的等待访问者服务。返回后可再次从里向外进行扫描者服务。返回后可再次从里向外进行扫描 。称为循环扫描算法称为循环扫描算法4 循环扫描调度算法循环扫描调度算法612022-3-7图解图解622022-3-7例例图 5-24 CSCAN调度算法 632022-3-7n1) N-Step-SCAN算法n 在SSTF、 SCAN及CSCAN几种调度算法中, 都可能出现磁臂停留在某处不动的情况, 例如,有一个或几个进程对某一磁道有较高的访问频率, 即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。 我们把这一现象称为“磁臂粘着”(Armstickiness)
34、。在高密度磁盘上容易出现此情况。 nN步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。 而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。 当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能; 当N=1时, N步SCAN算法便蜕化为FCFS算法。 5 N-Step-SCAN和和FSCAN调度算法调度算法 642022-3-7n2) FSCAN算法n FSCAN算法实质上是N步SCAN算法的简化, 即
35、FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程, 放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。 5 N-Step-SCAN和和FSCAN调度算法调度算法 652022-3-7调度算法的选择调度算法的选择n实际系统相当普遍采用实际系统相当普遍采用最短寻道时间优先算最短寻道时间优先算法,因为它简单有效,性价比好。法,因为它简单有效,性价比好。n扫描算法更适于磁盘负担重的系统。扫描算法更适于磁盘负担重的系统。n磁盘负担很轻的系统也可以采用先来先
36、服务磁盘负担很轻的系统也可以采用先来先服务算法算法n一般要将磁盘调度算法作为操作系统的单独一般要将磁盘调度算法作为操作系统的单独模块编写,利于修改和更换。模块编写,利于修改和更换。662022-3-7练习练习活动头磁盘的访问时间包括活动头磁盘的访问时间包括_、_和和_。(1)什么是先来先服务磁盘调度调度算法什么是先来先服务磁盘调度调度算法?(2) 什么是最短寻道时间优先磁盘调度算法什么是最短寻道时间优先磁盘调度算法?(3) 什么是扫描磁盘调度算法什么是扫描磁盘调度算法? 磁盘调度主要是为了优化磁盘调度主要是为了优化_(1)寻道时间)寻道时间 (2)旋转延迟时间)旋转延迟时间 (3) 传输传输时
37、间时间672022-3-7练习练习n下列磁盘调度算法中,平均寻道时间较短,下列磁盘调度算法中,平均寻道时间较短,但容易产生饥饿现象的是(),电梯调度算但容易产生饥饿现象的是(),电梯调度算法是(),能避免磁臂粘着现象的算法是法是(),能避免磁臂粘着现象的算法是()。()。n(1)SSTF (2)FCFSn(3)SCAN (4)CSCANn(5)FSCANn在磁盘调度策略中有可能使在磁盘调度策略中有可能使I/O请求无限期等请求无限期等待的调度算法是待的调度算法是_. 682022-3-7练习练习n假定有一个具有假定有一个具有200个磁道(编号为个磁道(编号为0-199)的移动头磁盘,在完成了磁道的移动头磁盘,在完成了磁道125处的请求后,处的请求后,当前正在磁道当前正在磁道143处为一个请求服务。若请求处为一个请求服务。若请求队列以队列以FIFO次序存放,即次序存放,即86,147,91,177,94,150,102,175,130,计算下列,计算下列各算法中磁头移动次数各算法中磁头移动次数nFCFS SSTF SCAN CSCAN692022
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论