FCFS和C-LOOK磁盘调度算法的区别
1、FCFS磁盘调度算法
FCFS 代表 First Come First Serve,该算法按照任务到达磁盘队列的顺序来处理任务。它是最简单易懂的磁盘调度算法。在这种情况下,头部或指针向任务到达的方向移动,直到所有请求都得到服务。但是,FCFS 算法在处理即将到来的请求时具有更公平的策略。与所有剩余的磁盘调度算法相比,FCFS 算法的性能落后。
例子:
考虑一个具有 200 个磁道 (0-199) 的磁盘,磁盘队列具有以下顺序的 I/O 请求:98、183、40、122、10、124、65。ReadWrite 的当前磁头位置 head 为 53。使用 FCFS 算法计算 Read/Write head 的磁道移动总数。
Total head movements
= (98-53)+(183-98)+(183-40)
+(122-40)+(122-10)+(124-10)+(124-65)
= 640
2. C-LOOK磁盘调度算法
C-LOOK 是 LOOK 算法的修改版本。在该算法中,头部从一个方向的第一个请求开始,然后向另一端的最后一个请求移动,为中间的所有请求提供服务。在一端到达最后一个请求后,头部向另一个方向跳跃并朝着剩余的请求移动,然后与之前相同的方向满足它们。C-LOOK 算法仅在一个方向上为请求提供服务。与 FCFS 不同,它不按到达的顺序处理请求。
例子:
考虑一个有 200 个磁道 (0-199) 的磁盘,磁盘队列有如下顺序的 I/O 请求:98, 183, 40, 122, 10, 124, 65。读/写的当前磁头位置 头是 53 并且将朝正确的方向移动。使用 C-LOOK 算法计算读/写磁头的磁道移动总数。
Total head movements
= (65-53)+(98-65)+(122-98)
+(124-122)+(183-124)+(183-10)+(40-10)
= 333
FCFS和C-LOOK磁盘调度算法的区别:
编号 | FCFS 磁盘调度算法 | C-LOOK 磁盘调度算法 |
---|---|---|
1 | FCFS算法易于理解和实现。 | 在 C-LOOK 中存在查找结束请求的开销。 |
2 | FCFS 算法在响应时间和等待时间上有很大的差异。 | 在 C-LOOK 中,响应时间和等待时间的差异很小。 |
3 | FCFS 不会对任何请求造成饥饿,但请求可以体验 Convoy 效应。 | 在 C-LOOK 算法中,请求既不会遭受饥饿,也不会遭受 Convoy 效应。 |
4 | FCFS 在寻道动作中效率低下。 | 但它在所有磁盘调度算法中的寻道移动方面非常有效。 |
5 | 在上面的 FCFS 示例中,head 从 53 开始,按照请求到达磁盘队列的顺序为请求提供服务。 | 在上面的 C-LOOK 算法示例中,头部从 53 移动,以正确的方向服务所有请求,直到它到达一端的最后一个请求。然后它跳转到剩余的请求并仅在正确的方向上为它们提供服务。 |
6.在FCFS算法中吞吐量降低。在 C-LOOK 算法中吞吐量增加。