操作系统原理

首先介绍主要的的四种磁头调度算法

(一)先来先服务算法(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)

1、算法思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。

2、优点:改善了磁盘平均服务时间。

3、缺点:造成某些访问请求长期等待得不到服务。

4、例子:对上例的磁盘访问序列,可得磁头移动的轨迹如下图。请同学自己给出磁头服务序列并计算磁头移动总距离。

(三) 扫描算法(电梯算法)(SCAN)

1、算法思想:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复。如下图所示:

扫描算法(电梯算法)的磁头移动轨迹

2、优点:克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。

3、例子:下图是一个示例。请同学自己写出一个可能的磁盘访问序列,并计算磁头移动总距离。

 

扫描算法图例

 

(四)单向扫描调度算法(CSCAN)

算法思想:

1、总是从0号柱面开始向里扫描。

2、按照各自所要访问的柱面位置的次序去选择访问者。

3、移动臂到达最后一个柱面后,立即带动读写磁头快速返回到0号柱面。

4、返回时不为任何的等待访问者服务。

5、返回后可再次进行扫描。

猜你喜欢

转载自blog.csdn.net/xiaoyangsavvy/article/details/78464897