C-LOOK是LOOK和C-scan算法的修改版。在这个算法中,头部从一个方向的第一个请求开始,向另一端的最后一个请求移动,为中间的所有请求服务。在到达一端的最后一个请求后,头部跳到另一个方向,并向剩余的请求移动,然后像以前一样满足它们。与C-SCAN不同,磁头指针将移动到磁盘的最后一个请求。

例子:

考虑一个有200个轨道(0-199)的磁盘,磁盘队列中的I/O请求按以下顺序排列。

98, 183, 40, 122, 10, 124, 65

读/写磁头的当前磁头位置为53,将向右移动。用C-LOOK算法计算读/写头的总轨迹移动次数。

头部运动总量
= (65 - 53) + (98 - 65)
  + (122 - 98)
  + (124 - 122) + (183 - 124)
  + (183 - 10) + (40 - 10)
= 333

C-scan算法,也被称为Circular Elevator算法,是SCAN算法的修改版。在这个算法中,磁头指针从磁盘的一端开始,向另一端移动,为中间的所有请求服务。在到达另一端后,磁头扭转方向,回到起点。然后,它满足剩余的请求,方向与之前相同。与C-LOOK不同,无论是否有请求,磁头指针都会移动到磁盘的末端。

例子

考虑一个有200个轨道(0-199)的磁盘,磁盘队列中有I/O请求,其顺序如下:

98, 183, 40, 122, 10, 124, 65

读/写磁头的当前磁头位置为53,将向右移动。使用C-scan算法计算读/写头的总轨迹移动次数。

头部运动总量
= (65 - 53) + (98 - 65)
   + (122 - 98)
   + (124 - 122) + (183 - 124)
   + (199 - 183) + (199 - 0)
   + (10 - 0) + (40 - 10)
= 395

C-LOOK 和 C-SCAN 磁盘调度算法的区别 –

编号 C-LOOK C-SCAN
1 C-LOOK算法在所有的磁盘调度算法中具有最好的性能。 而C-SCAN与C-LOOK相比,在性能上有所落后。
2 C-LOOK算法可以比C-SCAN更有效地处理请求。 在这里,与C-LOOK算法相比,对请求的处理不是那么好。
3 在上面的C-LOOK算法的例子中,头部从53开始移动,沿着右边的方向服务所有的请求,直到它到达一端的最后一个请求。然后,它跳到剩余的请求,只向右提供服务。 在上面的C-SCAN算法的例子中,头从53号开始移动,沿右方向服务所有的请求,直到它到达另一端。然后,它跳到另一端,只向右方向提供剩余的请求。
4 C-LOOK在响应时间和等待时间方面提供了低差异。 C-SCAN提供统一的等待时间和响应时间。
5 在C-LOOK算法中,有一个寻找终端请求的开销。 与C-LOOK相比,C-SCAN算法导致更多的寻找时间。