It selects the request which is closest to the current head position before moving the head away to service other requests. This is done by selecting the request which has the least seek time from the current head position.
SSTF scheduling priority is given to those processes which have the shortest seek, even if these requests are not the first ones in the queue. To implement this, the seek time of every request is calculated in advance in the queue and then requests are scheduled according to their seek time.
SSTF does not ensure fairness as it can lead to indefinite postponement as its seek pattern tends to be highly localized. SSTF is like Shortest Job First (SJF) as it can prevent distant requests from being serviced under heavy load which can be termed as Starvation.
Consider a disk with 200 tracks (0-199) and the disk queue having I/O requests in the following order as follows: 93, 176, 42, 148, 27, 14, 180. The current head position of the Read\Write head is 55. Calculate the total number of track movements of Read/Write head using SSTF.
Total Seek Time,
= (55-14) + (180-14) = 207
- Throughput is better than FCFS.
- Average Response Time is minimized due to less number of head movements.
- There is high overhead as we calculate the seek time for every request in advance.
- Starvation of a request occurs if it has higher seek time than the other requests in queue even if it may have arrived first in the queue.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.