C-SCAN



Introduction

C-SCAN stands for Circular-SCAN. C-SCAN is an enhanced version of SCAN disk scheduling. In the C-SCAN disk scheduling algorithm, the disk head starts to move towards one of the ends and service the requests that come in its path and reach the end. After doing this, the direction of the head is reversed. The head reaches the other end without satisfying any request and then it goes on servicing the requests which are remaining.


Advantages

1. C-SCAN offers better uniform waiting time.

2. It offers a better response time.


Disdvantages

1. In C-SCAN disk scheduling, there are more seek movements as compared to SCAN disk scheduling.

2. In C-SCAN disk scheduling, we have to move the disk head to the end of the disk even when we don’t have any request to service.


Example

Consider, a disk contains 200 tracks (0-199) and the request queue contains track number 82, 170, 43, 140, 24, 16,190, respectively. The current position of R/W head is 50, and the direction is towards the larger value. Calculate the total number of cylinders moved by head using C-SCAN disk scheduling.


As mentioned in the following example, the disk contains 200 tracks. So, we take a track line between 0 to 199. The current position of the read/write head is 50. So we start at 50, then move the read/write head based on the direction. Here, we move towards the larger value as given in the question. When all the requests are addressed, then we calculate a total number of cylinders moved by the head.


cscan img

Total Number of cylinders moved by head = (199-50) + (199-0) + (43-0) = 149+199+43 = 391