Disk Scheduling Algorithms
Disk Scheduling Algorithms
The algorithms used for disk scheduling are called as disk scheduling algorithms.
The purpose of disk scheduling algorithms is to reduce the total seek time.
1. FCFS Algorithm
2. SSTF Algorithm
3. SCAN Algorithm
4. C-SCAN Algorithm
5. LOOK Algorithm
6. C-LOOK Algorithm
Advantages-
It is simple, easy to understand and implement.
It does not cause starvation to any request.
Disadvantages-
It results in increased total seek time.
It is inefficient.
Problem-
Consider a disk queue with requests for I/O to blocks on cylinders 98, 183, 41, 122, 14, 124, 65, 67. The FCFS
scheduling algorithm is used. The head is initially at cylinder number 53. The cylinders are numbered from 0 to 199.
The total head movement (in number of cylinders) incurred while servicing these requests is _______.
Solution-
Advantages-
It reduces the total seek time as compared to FCFS.
It provides increased throughput.
It provides less average response time and waiting time.
Disadvantages-
There is an overhead of finding out the closest request.
The requests which are far from the head might starve for the CPU.
It provides high variance in response time and waiting time.
Switching the direction of head frequently slows down the algorithm.
Problem-01:
Consider a disk queue with requests for I/O to blocks on cylinders 98, 183, 41, 122, 14, 124, 65, 67. The SSTF
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) + (67 – 41) + (41 – 14) + (98 – 14) + (122 – 98) + (124 – 122) + (183 – 124)
= 12 + 2 + 26 + 27 + 84 + 24 + 2 + 59
= 236
Problem-02:
Consider a disk system with 100 cylinders. The requests to access the cylinders occur in following sequence-
4, 34, 10, 7, 19, 73, 2, 15, 6, 20
Assuming that the head is currently at cylinder 50, what is the time taken to satisfy all requests if it takes 1 ms to
move from one cylinder to adjacent one and shortest seek time first policy is used?
1. 95 ms
2. 119 ms
3. 233 ms
4. 276 ms
Solution-
Total head movements incurred while servicing these requests
= (50 – 34) + (34 – 20) + (20 – 19) + (19 – 15) + (15 – 10) + (10 – 7) + (7 – 6) + (6 – 4) + (4 – 2) + (73 – 2)
= 16 + 14 + 1 + 4 + 5 + 3 + 1 + 2 + 2 + 71
= 119
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.
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
NOTE-
The main difference between SCAN Algorithm and LOOK Algorithm is-
SCAN Algorithm scans all the cylinders of the disk starting from one end to the other end even if there are no
requests at the ends.
LOOK Algorithm scans all the cylinders of the disk starting from the first request at one end to the last request at
the other end.
Advantages-
It does not causes the head to move till the ends of the disk when there are no requests to be serviced.
It provides better performance as compared to SCAN Algorithm.
It does not lead to starvation.
It provides low variance in response time and waiting time.
Disadvantages-
There is an overhead of finding the end requests.
It causes long waiting time for the cylinders just visited by the head.
Problem-
Consider a disk queue with requests for I/O to blocks on cylinders 98, 183, 41, 122, 14, 124, 65, 67. The LOOK
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) + (183 – 41) + (41 – 14)
= 12 + 2 + 31 + 24 + 2 + 59 + 142 + 27
= 299
Alternatively,
Total head movements incurred while servicing these requests
= (183 – 53) + (183 – 14)
= 130 + 169
= 299