The disk head is currently at cylinder 50. Pending requests are at cylinders 2, 48, 51, 52, 53, and 99. A steady stream of new requests keeps arriving near cylinder 50. Which scheduling algorithm risks permanently delaying the request at cylinder 2?
AFCFS, because it services requests in arrival order and may skip cylinder 2
BSCAN, because the head only moves in one direction and may never reach cylinder 2
CSSTF, because it always picks the closest pending request and nearby requests will keep arriving
DC-SCAN, because it only services requests on the forward sweep and ignores cylinder 2 on the return
SSTF (Shortest Seek Time First) greedily picks the closest pending request. If requests continually arrive near cylinder 50, the head stays busy serving those and the request at cylinder 2 waits indefinitely — this is starvation. FCFS, SCAN, and C-SCAN all guarantee eventual service: FCFS by arrival order, and SCAN/C-SCAN by servicing all requests within each sweep. SSTF's greedy optimization has no starvation prevention mechanism.
Question 2 Multiple Choice
Why does C-SCAN provide more uniform wait times than SCAN for disk requests distributed across all cylinders?
AC-SCAN services requests in both directions simultaneously, halving average wait time
BC-SCAN skips the return sweep, so the head always arrives from the same end, giving every cylinder position roughly the same maximum wait
CC-SCAN uses a priority queue to ensure distant requests are served before nearby ones
DC-SCAN reduces seek time by jumping directly to the highest-numbered pending request first
SCAN creates uneven wait times because requests just behind the head's current position must wait for it to travel to the end and sweep back — that is nearly two full disk traversals. Requests near the middle of the disk get served more often because the head crosses them twice per cycle. C-SCAN fixes this by only servicing requests on the outward sweep, then jumping back to the beginning without servicing requests on the return. Every cylinder position is visited once per cycle from the same direction, making maximum wait time approximately equal across positions.
Question 3 True / False
SSTF usually prevents request starvation because, by definition, it typically moves toward some pending request.
TTrue
FFalse
Answer: False
SSTF prevents the head from being idle — it always moves toward the nearest request — but this is not the same as preventing starvation. Starvation occurs when a specific request waits indefinitely, not when the head sits still. If new requests keep arriving near the head's current position, the nearest request is always one of those nearby ones, and distant requests can wait forever. Starvation requires a fairness guarantee, which SSTF lacks. SCAN and C-SCAN provide starvation freedom by sweeping the entire disk within a bounded number of passes.
Question 4 True / False
Disk scheduling algorithms like SCAN and C-SCAN are largely unnecessary for solid-state drives because SSDs have no moving parts and all logical block addresses have approximately equal access latency.
TTrue
FFalse
Answer: True
SCAN and C-SCAN exist to minimize mechanical seek time — the time the physical read/write head takes to move between cylinders. SSDs have no such mechanism: any flash cell can be read in roughly the same time (typically 50–100 microseconds) regardless of its logical address. This eliminates the need to reorder requests for seek minimization. SSD scheduling instead focuses on different physical realities: parallelizing requests across internal flash channels, minimizing write amplification, and managing wear leveling across flash cells.
Question 5 Short Answer
Explain why FCFS disk scheduling can produce much greater total head movement than SSTF, even though FCFS treats all requests fairly.
Think about your answer, then reveal below.
Model answer: FCFS processes requests in arrival order with no regard for head position, so requests can arrive in a pattern that zigzags the head across the entire disk — e.g., 5, 190, 3, 185, 10, 180. Total head movement becomes a large fraction of the disk's cylinder range repeated for every pair of requests. SSTF instead always moves to the nearest pending request, minimizing each individual step, so total head movement is far less. Fairness (first-come order) and efficiency (minimum seek distance) are competing goals — FCFS optimizes one, SSTF optimizes the other.
This is the classic performance-vs-fairness tradeoff. FCFS's 'fairness' means it makes no optimization decisions at all, so adversarial arrival patterns produce worst-case seek behavior. SSTF's greedy optimization dramatically cuts seek distance but sacrifices fairness guarantees. SCAN and C-SCAN are the practical compromise: they bound head movement to at most two full disk sweeps while still servicing all requests in a predictable order.