C SCAN Disk Scheduling Algorithm C Program

By | October 29, 2017

Let us learn how to implement Circular SCAN or C SCAN disk scheduling algorithm in C programming with its explanation, output, advantages, disadvantages and much more.

What is Circular Scan Disk Scheduling Algorithm?

The C SCAN algorithm is a disk scheduling algorithm that helps in determining the motion of a disk’s arm and head in executing the read and write requests.

The circular SCAN algorithm is a variation or an advanced version of the SCAN algorithm. This algorithm is also known as Circular Elevator Algorithm.

This algorithm ensures that the jobs are serviced only in a single direction. disk head from one end of the disk to the other end of the disk.

While moving from one end to another end, the disk head serviced the requests along the way.

As soon as the disk head reached the other end, it immediately returns to the beginning of the disk without servicing any requests while on the path to return to the starting position.

This large jump from one rear end of the disk to the other end is not considered as a head movement as cylinders are treated as a circular list.

Again, the disk head starts moving in the same direction and services the remaining jobs in the job queue.

As you can notice that while returning a certain amount of time is wasted but this results in better overall performance for all the head positions.


  • Better optimization of Disk Input/Output
  • Provides more uniform waiting time as compared to SCAN algorithm


  • There is a possibility of job starvation in some scenarios.

Note: This C SCAN disk scheduling program in C is compiled with GNU GCC compiler using CodeLite IDE on Microsoft Windows 10 operating system.

C Program For C SCAN Disk Scheduling Algorithm


C scan disk scheduling algorithm in C Programming

If you have any doubts about the implementation of circular SCAN disk scheduling C program, let us know about it in the comment section. Find more about it on Wikipedia.

SCAN Disk Scheduling Algorithm
FCFS Algorithm
Shortest Seek Time First Scheduling Algorithm
Preemptive Shortest Job First Algorithm
Round Robin Algorithm
Shortest Job First Algorithm
Multi-Level Feedback Queue Algorithm
Preemptive Priority Algorithm
Priority Scheduling Algorithm

Let's Discuss