先来先服务算法(FCFS)
- 顾名思义,先来先计算,按顺序依次计算即可
- 题目:某⼀磁盘请求序列(磁道号):98、 183、 37、122、14、124、 65、 67, 假设当前磁头在53道上,按照先来先服务算法(FCFS)磁盘调度对磁盘进⾏请求服务,则磁头总移动道数为多少?
寻道序列:53,98,183,37,122,14,124,65,67 |53-98| + |98-183| + |183-37| + |37-122| + |122-14| + |14-124| + |124-65| + |65-67| = 640
最短寻道时间优先算法(SSTF)
- 每次选择离当前磁头所在的磁道距离最近的磁头,该算法可以得到⽐较好的吞吐量,但却不能保证平均寻道时间最短。其缺点是对⽤户的服务请求的响应机会不是均等的,因⽽导致响应时间的变化幅度很⼤。在服务请求很多的情况下,对内外边缘磁道的请求将会⽆限期的被延迟,有些请求的响应时间将不可预期。
- 题目:某⼀磁盘请求序列(磁道号):98、 183、 37、122、14、124、 65、 67, 假设当前磁头在53道上,按照最短寻道时间优先算法(SSTF)磁盘调度对磁盘进⾏请求服务,则磁头总移动道数为多少?
寻道序列:53,65,67,37,14,98,122,124,183 |53-65| + |65-67| + |67-37| + |37-14| + |14-98| + |98-122| + |122-124| + |124-183| = 236
扫描算法(SCAN)
-
优先考虑磁头的当前移动⽅向,并且考虑当前磁道与下⼀磁道之间的距离。例如,当磁头正在⾃⾥向外移动时,扫描算法所选择的下⼀个访问对象应该是,即在当前磁道之外,且距离最近,直到再⽆更外的磁道需要访问才将磁头换向,⾃外向⾥移动。移动原则同前⼀致。由于这种算法中磁头移动的规律与电梯的运⾏相似,因此⼜称为电梯调度算法。
-
题目:某⼀磁盘请求序列(磁道号):86,147,91,177,94,150,102,175,130, 假设当前磁头在143道上,刚刚处理结束的请求是125号,按照扫描算法(SCAN)磁盘调度对磁盘进⾏请求服务,则磁头总移动道数为多少?
寻道序列:125,143,147,150,175,177 -> 开始反向 130,102,94,91,86 |143-147| + |147-150| + |150-175| + |175-177| + |177-130| + |130-102| + |102-94| + |94-91| + |91-86| = 125
循环扫描算法(CSCAN)
-
循环扫描算法是对扫描算法的改进。如果对磁道的访问请求是均匀分布的,当磁头到达磁盘的⼀端,并反向运动时落在磁头之后的访问请求相对较少。这是由于这些磁道刚被处理,而磁盘另⼀端的请求密度相当高,且这些访问请求等待的时间较长,为了解决这种情况,循环扫描算法规定磁头单向移动。例如,只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最⾥的欲访磁道,即将最小磁道号紧接着最⼤磁道号构成循环,进行扫描。
-
题目:某⼀磁盘请求序列(磁道号):86,147,91,177,94,150,102,175,130, 假设当前磁头在143道上,刚刚处理结束的请求是125号,按照循环扫描算法(CSCAN)磁盘调度对磁盘进⾏请求服务,则磁头总移动道数为多少?
寻道序列:125,143,147,150,175,177 -> 开始从小到大增加 86,91,94,102,130 |143-147| + |147-150| + |150-175| + |175-177| + |177-86| + |86-91| + |91-94| + |94-102| + |102-130| = 169