0
0
Operating Systemsknowledge~10 mins

SSTF (Shortest Seek Time First) in Operating Systems - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - SSTF (Shortest Seek Time First)
Start at current head position
Calculate distance to each request
Select request with shortest distance
Move head to selected request
Remove serviced request
Are requests left?
NoEnd
Back to Calculate distance
SSTF chooses the disk request closest to the current head position, moves there, then repeats until all requests are served.
Execution Sample
Operating Systems
Requests = [55, 58, 39, 18, 90, 160, 150, 38, 184]
Head = 50
while requests:
  Find closest request to Head
  Move Head to it
  Remove request
This simulates SSTF disk scheduling by moving the head to the nearest request each time.
Analysis Table
StepCurrent HeadRequestsDistances to RequestsSelected RequestActionNew Head
150[55,58,39,18,90,160,150,38,184][5,8,11,32,40,110,100,12,134]55Move head to 5555
255[58,39,18,90,160,150,38,184][3,16,37,35,105,95,17,129]58Move head to 5858
358[39,18,90,160,150,38,184][19,40,32,102,92,20,126]39Move head to 3939
439[18,90,160,150,38,184][21,51,121,111,1,145]38Move head to 3838
538[18,90,160,150,184][20,52,122,112,146]18Move head to 1818
618[90,160,150,184][72,142,132,166]90Move head to 9090
790[160,150,184][70,60,94]150Move head to 150150
8150[160,184][10,34]160Move head to 160160
9160[184][24]184Move head to 184184
10184[][]NoneAll requests serviced184
💡 All requests have been serviced; no requests remain.
State Tracker
VariableStartAfter 1After 2After 3After 4After 5After 6After 7After 8After 9Final
Head50555839381890150160184184
Requests[55,58,39,18,90,160,150,38,184][58,39,18,90,160,150,38,184][39,18,90,160,150,38,184][18,90,160,150,38,184][18,90,160,150,184][90,160,150,184][160,150,184][160,184][184][][]
Key Insights - 3 Insights
Why does SSTF sometimes cause longer wait times for some requests?
Because SSTF always picks the closest request next (see execution_table steps 3-5), requests far from the current head can wait longer, causing possible starvation.
How do we calculate which request is closest?
At each step (see execution_table column 'Distances to Requests'), we find the absolute difference between the current head and each request, then pick the smallest.
What happens when there are no requests left?
The algorithm stops (see execution_table step 10), as all requests have been serviced.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at Step 4. What is the current head position before moving?
A38
B58
C39
D55
💡 Hint
Check the 'Current Head' column at Step 4 in execution_table.
At which step does the head move to request 90?
AStep 6
BStep 5
CStep 7
DStep 8
💡 Hint
Look at the 'Selected Request' column in execution_table to find when 90 is chosen.
If the initial head was at 100 instead of 50, which request would SSTF select first?
A150
B90
C58
D55
💡 Hint
Compare distances from 100 to each request as done in execution_table's 'Distances to Requests' column.
Concept Snapshot
SSTF (Shortest Seek Time First):
- Always pick the request closest to current head.
- Calculate absolute distance to all requests.
- Move head to nearest request and remove it.
- Repeat until all requests are served.
- Can cause starvation for far requests.
Full Transcript
SSTF is a disk scheduling method where the disk head moves to the closest pending request next. Starting from the current head position, it calculates the distance to all requests, picks the shortest one, moves the head there, and removes that request from the queue. This repeats until no requests remain. The execution table shows each step with the head position, requests left, distances, and chosen request. SSTF is efficient but can cause some requests to wait longer if they are far from the current head position.