📜  C-SCAN和SSTF磁盘调度算法的区别

📅  最后修改于: 2021-09-12 11:33:41             🧑  作者: Mango

1. C-SCAN 磁盘调度算法:
C-SCAN算法,又称环形电梯算法,是SCAN算法的改进版。在该算法中,头指针从磁盘的一端开始向另一端移动,服务于其间的所有请求。到达另一端后,头部反转方向并转到起点。然后它以与以前相同的方向满足剩余的请求。与 SSTF 不同的是,它只能处理一个方向的请求。

例子 –
考虑一个有 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 

2. SSTF 磁盘调度算法:
SSTF 代表 Shortest Seek Time First,顾名思义,它服务于最接近当前头部或指针位置的请求。在这个算法中,头指针的方向很重要。如果请求之间出现联系,则头部将在其正在进行的方向上为请求提供服务。与 C-SCAN 不同,SSTF 算法在总寻道时间上非常有效。

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

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

读/写磁头的当前磁头位置为 53,并将向右移动。使用SSTF算法计算读/写磁头的磁道移动总数。

总的头部运动,

= (65-53)+(65-40)+(40-10)
           +(98-10)+(122-98)+(124-122)+(183-124)
= 240 

C-SCAN 和 SSTF 磁盘调度算法的区别:

S.No. C-SCAN SSTF
1. C-SCAN algorithm services the requests only in one direction. SSTF algorithm can handle the requests in both directions.
2. This algorithm causes more seek time as compared to SSTF. In SSTF algorithm, there is an overhead of finding closest request.
3. Performance of C-SCAN is far better than SSTF. Whereas SSTF lags in performance.
4. C-SCAN algorithm provides low variance in average waiting time and response time. Whereas SSTF provides high variance in average waiting time and response time.
5. C-SCAN algorithm will never cause starvation to any requests. SSTF algorithm can cause starvation.