Tag: SCAN Algorithm

SCAN Algorithm | Disk Scheduling Algorithms

Disk Scheduling Algorithms-

 

Before you go through this article, make sure that you have gone through the previous article on Disk Scheduling.

 

We have discussed-

  • Disk scheduling algorithms are used to schedule multiple requests for accessing the disk.
  • The purpose of disk scheduling algorithms is to reduce the total seek time.

 

Various disk scheduling algorithms are-

 

 

In this article, we will discuss about SCAN Disk Scheduling Algorithm.

 

SCAN Disk Scheduling Algorithm-

 

  • As the name suggests, this algorithm scans all the cylinders of the disk back and forth.
  • Head starts from one end of the disk and move towards the other end servicing all the requests in between.
  • After reaching the other end, head reverses its direction and move towards the starting end servicing all the requests in between.
  • The same process repeats.

 

NOTE-

 

  • SCAN Algorithm is also called as Elevator Algorithm.
  • This is because its working resembles the working of an elevator.

 

Also Read- FCFS Disk Scheduling Algorithm

 

Advantages-

 

  • It is simple, easy to understand and implement.
  • It does not lead to starvation.
  • It provides low variance in response time and waiting time.

 

Disadvantages-

 

  • It causes long waiting time for the cylinders just visited by the head.
  • It causes the head to move till the end of the disk even if there are no requests to be serviced.

 

Also Read- SSTF Disk Scheduling Algorithm

 

PRACTICE PROBLEM BASED ON SCAN DISK SCHEDULING ALGORITHM-

 

Problem-

 

Consider a disk queue with requests for I/O to blocks on cylinders 98, 183, 41, 122, 14, 124, 65, 67. The SCAN scheduling algorithm is used. The head is initially at cylinder number 53 moving towards larger cylinder numbers on its servicing pass. The cylinders are numbered from 0 to 199. The total head movement (in number of cylinders) incurred while servicing these requests is _______.

 

Solution-

 

 

Total head movements incurred while servicing these requests

= (65 – 53) + (67 – 65) + (98 – 67) + (122 – 98) + (124 – 122) + (183 – 124) + (199 – 183) + (199 – 41) + (41 – 14)

= 12 + 2 + 31 + 24 + 2 + 59 + 16 + 158 + 27

= 331

 

Alternatively,

Total head movements incurred while servicing these requests

= (199 – 53) + (199 – 14)

= 146 + 185

= 331

 

To gain better understanding about SCAN Disk Scheduling Algorithm,

Watch this Video Lecture

 

Next Article- C-SCAN Disk Scheduling Algorithm 

 

Get more notes and other study material of Operating System.

Watch video lectures by visiting our YouTube channel LearnVidFun.