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 LOOK Disk Scheduling Algorithm.
LOOK Disk Scheduling Algorithm-
- LOOK Algorithm is an improved version of the SCAN Algorithm.
- Head starts from the first request at one end of the disk and moves towards the last request at the other end servicing all the requests in between.
- After reaching the last request at the other end, head reverses its direction.
- It then returns to the first request at the starting end servicing all the requests in between.
- The same process repeats.
Also Read- C-SCAN Disk Scheduling Algorithm
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.
PRACTICE PROBLEM BASED ON LOOK 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 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
To gain better understanding about LOOK Disk Scheduling Algorithm,
Next Article- C-LOOK Disk Scheduling Algorithm
Get more notes and other study material of Operating System.
Watch video lectures by visiting our YouTube channel LearnVidFun.