FCFS磁盘调度算法:
顾名思义,FCFS 调度算法按照请求到达磁盘队列的顺序处理请求。即使更高优先级的请求在计划中稍后到达,FCFS 也会按照它们到达的顺序处理请求,因此我们可以说 FCFS 有一个公平的策略。
例子:
考虑一个有 200 个磁道 (0-199) 的磁盘,磁盘队列具有以下顺序的 I/O 请求:93、176、42、148、21、14、180。ReadWrite 的当前磁头位置head 为 55。使用 FCFS 计算 Read/Write head 的磁道移动总数。
总寻道时间计算过程:
= (93-55) + (176-93) + (176-42)
+ (148-42) + (148-21)
+ (21-14) + (180-14)
= 661
SCAN磁盘调度算法:
顾名思义,SCAN 算法以来回方式扫描磁盘的所有磁道,这样它会首先处理一个方向上的所有请求,直到它到达该方向的最后一个磁道,然后它会反转方向并开始服务其中的请求遇到了。该算法也称为电梯算法,因为它像电梯一样工作,通过不断地向一个方向移动来服务请求然后反转方向。
例子:
考虑一个有 200 个磁道 (0-199) 的磁盘,磁盘队列具有以下顺序的 I/O 请求:93、176、42、148、21、14、180。ReadWrite 的当前磁头位置head 为 55。使用 SCAN 计算 Read/Write head 的磁道移动总数。
总寻道时间计算过程:
= (199-55) + (199-14)
= 329
现在,下面来看看FCFS和SCAN磁盘调度算法的区别:
编号 | FCFS磁盘调度算法 | SCAN磁盘调度算法 |
---|---|---|
1 | FCFS 调度算法将按照请求到达磁盘队列的顺序处理请求。 | SCAN 调度算法将首先处理一个方向的请求,直到它到达磁盘的末端,然后磁盘臂反转方向并开始以相反的顺序为请求提供服务。 |
2 | FCFS 算法具有公平的策略,因为请求按计划处理,因此无限期推迟的可能性较小。 | 可能会发生请求的位置刚刚被磁盘臂访问过,因此请求将有很长的等待时间。 |
3 | FCFS算法在所有磁盘调度算法中吞吐量最低。 | SCAN 算法比 FCFS 调度算法具有更好的吞吐量。 |
4 | FCFS算法的平均寻道时间是所有磁盘调度算法中最高的,因为它没有尝试优化寻道时间。 | SCAN 算法的平均寻道时间远低于 FCFS 调度算法。 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/266892.html