㈠ 磁盘调度算法用来改善磁头的性能对不对
对的,磁盘是计算机系统中最重要的存储设备,其中含有绝大部分文件。对文件的操作直接涉及到磁盘的访问,磁盘IO的速度效率和可靠性将直接影响系统的性能。因此,好的磁盘调度算法、优越的冗余技术,都是提高磁盘系统性能的切入点。
磁盘调度算法
1.先来先服务:按照进程访问磁盘的先后顺序进行调度。
优点:公平、简单
缺点:效率低,平均寻道时间较长
2.最短寻道时间优先:要求访问磁道与当前磁头的磁道距离最近。
优点:相比于先来先服务,明显减少平均寻道长度
缺点:磁头可能在一个小的范围内一直寻到,造成远处请求不满足而饥饿
3.扫描算法:又称电梯调度算法,像电梯一样上下连续来回寻道
优点:避免了“饥饿”现象
缺点:对于刚刚经过的磁道又来了新的请求,再次访问要最多等2个磁道长度
4.循环扫描算法:磁头单向移动,其余和扫描算法一样
优点:解决了可能的错过型请求的双倍延迟
缺点:浪费一个磁头的移动次数,什么都没做
5.NStepSCAN算法:磁盘请求分成N个队列,队列间用先来先服务处理,队列内用扫描算法处理
优点:避免新请求带来的粘着问题
缺点:N值很大时,接近于扫描算法;N=1时,就是先来先服务
6.FSCAN算法:磁盘请求只分成两个队列,一个是当前请求队列,一个是未来请求队列,当前队列按照扫描算法处理,当前队列处理完就处理另一个,此时另一个为当前队列,已经处理完的是未来请求队列
优点:简化NStepSCAN算法
缺点:所有新来的请求都在下次扫描时再处理,对于紧急的高优先级的请求也要放到下次
㈡ 若磁头的当前位置100柱面,磁头正向磁道号减小方向移动。现有一磁盘读写请求队列,柱面号依次为:
磁盘调度在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。为了尽快的响应进程的磁盘请求,人们设计了磁盘调度算法。主要有四种磁盘调度算法。先来先服务算法(FCFS),最短寻道时间优先算法(SSTF),扫描算法(SCAN),循环扫描算法(CSCAN)。
运用最短寻道优先算法依次选择的磁道是:90、80、125、140、160、190、30、29、25、20、10。
运用电梯调度算法依次经过的磁道是:90、80、30、29、25、20、10、125、140、160、190。
我们根据算法的寻道序列可以得出:最短寻道优先算法的经过的煮面数为310个柱面,电梯调度算法经过的柱面数为270次。
(2)电梯调度算法扫描扩展阅读:
每种磁盘调度算法的优缺点
先来先服务算法的优点会根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况,此算法将降低设备服务的吞吐量,致使平均寻道时间可能较长,但各进程得到服务的响应时间的变化幅度较小。
最短寻道优先算法的缺点每次的寻道时间最短,该算法可以得到比较好的吞吐量,但却不能保证平均寻道时间最短。其缺点是对用户的服务请求的响应机会不是均等的,因而导致响应时间的变化幅度很大。在服务请求很多的情况下,对内外边缘磁道的请求将会无限期地被延迟,有些请求的响应时间将不可预期。
扫描算法的优缺点此算法基本上克服了最短寻道时间优先算法的服务集中于中间磁道和响应时间变化比较大的缺点,而具有最短寻道时间优先算法的优点即吞吐量较大,平均响应时间较小,但由于是摆动式的扫描方法,两侧磁道被访问的频率仍低于中间磁道。
循环扫描算法的优点是这些磁道刚被处理,而磁盘另一端的请求密度相当高,且这些访问请求等待的时间较长,为了解决这种情况,循环扫描算法规定磁头单向移动。
参考资料来源:网络-磁盘调度算法
㈢ 高手给解释下,操作系统中的,电梯调度算法和扫描调度算法的区别到底是什么最好举例图
操作系统概念那本书上有图,电梯就是磁头一直向左然后一直向右这么来来回回。CSCAN就是磁头一直向左,然后再回到右边开始一直向左,类似于示波器的逐行扫描。
㈣ 莫系统空闲分区如下表.哪种算法可满足该作业序列请求为什么
一、进程(作业)调度算法
l 先来先服务调度算法(FCFS):每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。特点:利于长进程,而不利于短进程。
l 短进程(作业)优先调度算法(SPF):它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。
l 时间片轮转调度算法 :系统将所有的就绪进程按进入就绪队列的先后次序排列。每次调度时把CPU分配给队首进程,让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。
l 优先数调度算法 :它是从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。
l 响应比高者优先调度算法:它是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。特点:既照顾了短进程,又考虑了进程到达的先后次序,也不会使长进程长期得不到服务,因此是一个比较全面考虑的算法,但每次进行调度时,都需要对各个进程计算响应比。所以系统开销很大,比较复杂。
l 多级队列调度算法
基本概念:
作业周转时间(Ti)=完成时间(Tei)-提交时间(Tsi)
作业平均周转时间(T)=周转时间/作业个数
作业带权周转时间(Wi)=周转时间/运行时间
响应比=(等待时间+运行时间)/运行时间
二、存储器连续分配方式中分区分配算法
n 首次适应分配算法(FF):对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。
n 循环首次适应算法:每次分配均从上次分配的位置之后开始查找。
n 最佳适应分配算法(BF):是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记在空闲区表中,分配时,顺序查找。
三、页面置换算法
l 最佳置换算法(OPT) :选择以后永不使用或在最长时间内不再被访问的内存页面予以淘汰。
l 先进先出置换算法(FIFO):选择最先进入内存的页面予以淘汰。
l 最近最久未使用算法(LRU):选择在最近一段时间内最久没有使用过的页,把它淘汰。
l 最少使用算法(LFU):选择到当前时间为止被访问次数最少的页转换。
四、磁盘调度
n 先来先服务(FCFS):是按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访问的物理位置
n 最短寻道时间优先(SSTF):让离当前磁道最近的请求访问者启动磁盘驱动器,即是让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁臂移动过大的问题
n 扫描算法(SCAN)或电梯调度算法:总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。如果沿磁臂的方向无请求访问时,就改变磁臂的移动方向。在这种调度方法下磁臂的移动类似于电梯的调度,所以它也称为电梯调度算法。
n 循环扫描算法(CSCAN):循环扫描调度算法是在扫描算法的基础上改进的。磁臂改为单项移动,由外向里。当前位置开始沿磁臂的移动方向去选择离当前磁臂最近的哪个柱面的访问者。如果沿磁臂的方向无请求访问时,再回到最外,访问柱面号最小的作业请求。
㈤ 操作系统磁盘调度算法wenti
SCAN调度算法就是电梯调度算法,顾名思义就是如果开始时磁头往外就一直要到最外面,然后再返回向里(磁头编号一般是最外面为0号往里增加),就像电梯若往下则一直要下到最底层才会再上升一样。这里的从左端开始是什么意思呢?一般是题目中会给出此时磁头指向里或是指向外的。向外则向比它小的方向扫描,向里则向比它大的方向扫描,而若求寻道时间还要知道每移动一个磁道所需的时间t,寻道时间T1={(53-37)+(37-14)+(14-0)+(65-0)+(67-65)+(98-67)+(122-98)+(124-122)+(183-124)+(199-183)}*t=(53+199)*t=252t.
CSCAN循环扫描调度算法是先找出最靠近磁头位置的下一个,或是按题中规定的方向,反正就是只能是单向扫描。例如题中65距53最近,于是最先到65然后继续朝增加的方向,直到最大,然后又立即回到最小的0号开始,计算时返回的那段距离也必需计算在内。T2={(199-53)+(199-0)+(37-0)}*t=382t.
显然此时SCAN算法更省时。
㈥ 磁盘调度算法的常用磁盘调度算法
FCFS算法根据进程请求访问磁盘的先后顺序进行调度,这是一种最简单的调度算法。该算法的优点是具有公平性。如果只有少量进程需要访问,且大部分请求都是访问簇聚的文件扇区,则有望达到较好的性能;但如果有大量进程竞争使用磁盘,那么这种算法在性能上往往接近于随机调度。所以,实际磁盘调度中考虑一些更为复杂的调度算法。
1、算法思想:按访问请求到达的先后次序服务。
2、优点:简单,公平。
3、缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。
4、例子:
假设磁盘访问序列:98,183,37,122,14,124,65,67。读写头起始位置:53。求:磁头服务序列和磁头移动总距离(道数)。
由题意和先来先服务算法的思想,得到下图所示的磁头移动轨迹。由此:
磁头服务序列为:98,183,37,122,14,124,65,67
磁头移动总距离=(98-53)+(183-98)+|37-183|+(122-37)+|14-122|+(124-14)+|65-124|+(67-65)=640(磁道) SSTF算法选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。当然,总是选择最小寻找时间并不能保证平均寻找时间最小,但是能提供比FCFS算法更好的性能。这种算法会产生“饥饿”现象。
1、算法思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。
2、优点:改善了磁盘平均服务时间。
3、缺点:造成某些访问请求长期等待得不到服务。
4、例子:对上例的磁盘访问序列,可得磁头移动的轨迹如下图。 SCAN算法在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。由于磁头移动规律与电梯运行相似,故又称为电梯调度算法。SCAN算法对最近扫描过的区域不公平,因此,它在访问局部性方面不如FCFS算法和SSTF算法好。
算法思想:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移 动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复。如下图所示:
扫描算法(电梯算法)的磁头移动轨迹
2、优点:克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。 在扫描算法的基础上规定磁头单向移动来提供服务,回返时直接快速移动至起始端而不服务任何请求。由于SCAN算法偏向于处理那些接近最里或最外的磁道的访问请求,所以使用改进型的C-SCAN算法来避免这个问题。
釆用SCAN算法和C-SCAN算法时磁头总是严格地遵循从盘面的一端到另一端,显然,在实际使用时还可以改进,即磁头移动只需要到达最远端的一个请求即可返回,不需要到达磁盘端点。这种形式的SCAN算法和C-SCAN算法称为LOOK和C-LOOK调度。这是因为它们在朝一个给定方向移动前会查看是否有请求。注意,若无特别说明,也可以默认SCAN算法和C-SCAN算法为LOOK和C-LOOK调度。
㈦ 目前常用的磁盘调度算法有哪几种每种算法优先考虑的问题是什么
(1)先来先服务(FCFS,First-Come First-Served)
此算法根据进程请求访问磁盘的先后次序进行调度。
(2)最短寻道时间优先(SSTF ,ShortestSeekTimeFirst)
该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短。
(3)扫描(SCAN)算法
SCAN算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。
(4)循环扫描(CSCAN)算法
CSCAN算法规定磁头单向移动,避免了扫描算法导致的某些进程磁盘请求的严重延迟。
(5) N-Step-SCAN和FSCAN调度算法
1) N-Step-SCAN算法。为克服前述SSTF、SCAN、CSCAN等调度算法都可能出现的磁臂停留在某处不动的情况即磁臂粘着现象,将磁盘请求队列分成若干个长度为N的子队列,按先来先服务算法依次处理这些子队列,而各队列分别以扫描算法进行处理。
2) FSCAN算法
FSCAN算法实质上是N步SCAN算法的简化。它只将磁盘请求访问队列分成两个子队列。一是当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。另一个队列则是在 扫描期间,新出现的所有请求磁盘I/O进程的队列,放入另一等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。
㈧ 电梯算法是怎样的
电梯算法是通过操作系统学术名为SCAN算法。磁臂仅移动到请求的最外道就回转。反方向查找服务。
如果请求调度的磁道为98, 183, 37, 122, 14, 124, 65, 67,磁头从53号磁道开始移动,磁头就会按照65, 67, 98, 122, 124, 183, 37,14 的顺序依次查找,并将数据输入内存。
电梯(升降盒)上下来回地运动,电梯内部有一些按钮,每一个按钮代表一层楼,当按下按钮时,按钮的灯亮。
电梯沿某一方向运动,在将要到达某一层楼时,实时监控器 判断电梯内是否有乘客要在此层楼下电梯,若有,则发送信号给电梯升降架。
电梯是指服务于建筑物内若干特定的楼层,其轿厢运行在至少两列垂直于水平面或与铅垂线倾斜角小于15°的刚性轨道运动的永久运输设备。
也有台阶式,踏步板装在履带上连续运行,俗称自动扶梯或自动人行道。服务于规定楼层的固定式升降设备。垂直升降电梯具有一个轿厢,运行在至少两列垂直的或倾斜角小于15°的刚性导轨之间。
轿厢尺寸与结构形式便于乘客出入或装卸货物。习惯上不论其驱动方式如何,将电梯作为建筑物内垂直交通运输工具的总称。
㈨ 操作系统模拟电梯调度算法C语言程序
多级反馈队列调度算法 多级反馈队列调度算法是一种CPU处理机调度算法,UNIX操作系统采取的便是这种调度算法。 多级反馈队列调度算法即能使高优先级的作业得到响应又能使短作业(进程)迅速完成。(对比一下FCFS与高优先响应比调度算法的缺陷)。 多级(假设为N级)反馈队列调度算法可以如下原理: 1、设有N个队列(Q1,Q2....QN),其中各个队列对于处理机的优先级是不一样的,也就是说位于各个队列中的作业(进程)的优先级也是不一样的。一般来说,优先级Priority(Q1) > Priority(Q2) > ... > Priority(QN)。怎么讲,位于Q1中的任何一个作业(进程)都要比Q2中的任何一个作业(进程)相对于CPU的优先级要高(也就是说,Q1中的作业一定要比Q2中的作业先被处理机调度),依次类推其它的队列。 2、对于某个特定的队列来说,里面是遵循时间片轮转法。也就是说,位于队列Q2中有N个作业,它们的运行时间是通过Q2这个队列所设定的时间片来确定的(为了便于理解,我们也可以认为特定队列中的作业的优先级是按照FCFS来调度的)。 3、各个队列的时间片是一样的吗?不一样,这就是该算法设计的精妙之处。各个队列的时间片是随着优先级的增加而减少的,也就是说,优先级越高的队列中它的时间片就越短。同时,为了便于那些超大作业的完成,最后一个队列QN(优先级最高的队列)的时间片一般很大(不需要考虑这个问题)。 多级反馈队列调度算法描述: 1、进程在进入待调度的队列等待时,首先进入优先级最高的Q1等待。 2、首先调度优先级高的队列中的进程。若高优先级中队列中已没有调度的进程,则调度次优先级队列中的进程。例如:Q1,Q2,Q3三个队列,只有在Q1中没有进程等待时才去调度Q2,同理,只有Q1,Q2都为空时才会去调度Q3。 3、对于同一个队列中的各个进程,按照时间片轮转法调度。比如Q1队列的时间片为N,那么Q1中的作业在经历了N个时间片后若还没有完成,则进入Q2队列等待,若Q2的时间片用完后作业还不能完成,一直进入下一级队列,直至完成。 4、在低优先级的队列中的进程在运行时,又有新到达的作业,那么在运行完这个时间片后,CPU马上分配给新到达的作业(抢占式)。 我们来看一下该算法是如何运作的: 假设系统中有3个反馈队列Q1,Q2,Q3,时间片分别为2,4,8。 现在有3个作业J1,J2,J3分别在时间 0 ,1,3时刻到达。而它们所需要的CPU时间分别是3,2,1个时间片。 1、时刻0 J1到达。于是进入到队列1 , 运行1个时间片 , 时间片还未到,此时J2到达。 2、时刻1 J2到达。 由于时间片仍然由J1掌控,于是等待。 J1在运行了1个时间片后,已经完成了在Q1中的 2个时间片的限制,于是J1置于Q2等待被调度。现在处理机分配给J2。 3、时刻2 J1进入Q2等待调度,J2获得CPU开始运行。 4、时刻3 J3到达,由于J2的时间片未到,故J3在Q1等待调度,J1也在Q2等待调度。 5、时刻4 J2处理完成,由于J3,J1都在等待调度,但是J3所在的队列比J1所在的队列的优先级要高,于是J3被调度,J1继续在Q2等待。 6、时刻5 J3经过1个时间片,完成。 7、时刻6 由于Q1已经空闲,于是开始调度Q2中的作业,则J1得到处理器开始运行。 8、时刻7 J1再经过一个时间片,完成了任务。于是整个调度过程结束。
㈩ 电梯调度算法
(1)电梯调度算法的处理次序为:
5
8
1
4
3
6
2
7
(2)最短寻找时间优先算法的处理次序为:
5
8
6
2
7
1
4
3