FCFS和SCAN磁盘调度算法的区别

FCFS和SCAN磁盘调度算法的区别

FCFS磁盘调度算法:

顾名思义,FCFS 调度算法按照请求到达磁盘队列的顺序处理请求。即使更高优先级的请求在计划中稍后到达,FCFS 也会按照它们到达的顺序处理请求,因此我们可以说 FCFS 有一个公平的策略。

FCFS和SCAN磁盘调度算法的区别

例子:

考虑一个有 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
Java

SCAN磁盘调度算法:

顾名思义,SCAN 算法以来回方式扫描磁盘的所有磁道,这样它会首先处理一个方向上的所有请求,直到它到达该方向的最后一个磁道,然后它会反转方向并开始服务其中的请求遇到了。该算法也称为电梯算法,因为它像电梯一样工作,通过不断地向一个方向移动来服务请求然后反转方向。

FCFS和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
Java

现在,下面来看看FCFS和SCAN磁盘调度算法的区别:

编号 FCFS磁盘调度算法 SCAN磁盘调度算法
1 FCFS 调度算法将按照请求到达磁盘队列的顺序处理请求。 SCAN 调度算法将首先处理一个方向的请求,直到它到达磁盘的末端,然后磁盘臂反转方向并开始以相反的顺序为请求提供服务。
2 FCFS 算法具有公平的策略,因为请求按计划处理,因此无限期推迟的可能性较小。 可能会发生请求的位置刚刚被磁盘臂访问过,因此请求将有很长的等待时间。
3 FCFS算法在所有磁盘调度算法中吞吐量最低。 SCAN 算法比 FCFS 调度算法具有更好的吞吐量。
4 FCFS算法的平均寻道时间是所有磁盘调度算法中最高的,因为它没有尝试优化寻道时间。 SCAN 算法的平均寻道时间远低于 FCFS 调度算法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册