Shortest seek first
From Wikipedia, the free encyclopedia
Shortest seek first is a disk scheduling algorithm to determine the motion of the disk's arm and head in servicing read and write requests.
[edit] Description
This is a direct improvement upon a first-come first-served (FIFO) algorithm. The drive maintains an incoming buffer of requests, and tied with each request is a cylinder number of the request. Lower cylinder numbers indicate that the cylinder is closest to the spindle, and higher numbers indicate the cylinder is further away.
The shortest seek first algorithm determines which request is closest to the current position of the head, and then services that request next.
[edit] Analysis
The shortest seek first algorithm has the direct benefit of simplicity and is clearly advantageous in comparison to the FIFO method, in that overall arm movement is reduced, resulting in lower average response time.
However, since the buffer is always getting new requests, these can skew the service time of requests that may be farthest away from the disk head's current location, if the new requests were consistently away from the outlying request, resulting in a performance degradation due to starvation.
The elevator algorithm is one way of reducing arm movement/response time, and ensuring consistent servicing of requests