FCFS磁盘调度算法:
顾名思义, FCFS调度算法按请求到达磁盘队列的顺序处理请求。即使更高优先级的请求在稍后的时间表中到达, FCFS也会按照它们到达的顺序处理该请求, 因此我们可以说FCFS有一个公平的政策。
例子:
考虑具有200个磁道(0-199)的磁盘和具有以下顺序的具有I / O请求的磁盘队列, 如下所示:93、176、42、148、21、14、180。Read \ Write的当前磁头位置磁头为55。使用FCFS计算读/写磁头的磁道移动总数。
总搜寻时间,
= (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。Read \ Write的当前磁头位置磁头为55。使用SCAN计算读/写磁头的磁道移动总数。
总搜寻时间,
= (199-55) + (199-14)
= 329
现在, 让我们看看FCFS和SCAN磁盘调度算法之间的区别:
序号 | FCFS磁盘调度算法 | SCAN磁盘调度算法 |
---|---|---|
1. | FCFS调度算法将按请求到达磁盘队列的顺序处理请求。 | SCAN调度算法将首先在一个方向上处理请求, 直到到达磁盘末端, 然后磁盘臂反转该方向, 并开始以相反的顺序处理请求。 |
2. | FCFS算法具有公平的策略, 可以按计划处理请求, 因此无限期推迟的机会更少。 | 可能是磁盘臂刚刚访问了请求的位置, 因此请求将有很长的等待时间。 |
3. | 在所有磁盘调度算法中, FCFS算法的吞吐量最低。 | SCAN算法具有比FCFS调度算法更好的吞吐量。 |
4. | FCFS算法的平均寻道时间是所有磁盘调度算法中最高的, 因为它没有尝试优化寻道时间。 | 与FCFS调度算法相比, SCAN算法的平均寻道时间要短得多。 |