# Main memory and secondary storage: GATE CS question with solution

From the GATE Daily set of 27 October 2026, question 4 of 10 (https://gatedaily.in/q/2026-10-27-disk-read-random-and-sequential-sectors/). Difficulty: hard.

### Q.4 · Computer Organization & Architecture · Main memory and secondary storage · MCQ, 2 marks (choose one option)

A disk rotates at 12000 rpm and has 500 sectors per track. Moving the head from a track to an adjacent track takes 0.5 ms, and seek time is proportional to the number of tracks crossed. The head is initially on track 20. A request reads, in this order:

1. 6 randomly located sectors on track 35;
2. a run of 200 consecutive sectors on track 10;
3. 6 randomly located sectors on track 50.

Assume that each randomly located sector is preceded by an average rotational latency of half a rotation; the run of consecutive sectors is preceded by one such average latency and is then read in a single sweep; reading one sector takes $\frac{1}{500}$ of a rotation; and all other overheads are zero.

The total time to serve the request, in milliseconds, is

(A) 49.62
(B) 67.12
(C) 74.62
(D) 107.12

**Answer:** (C) 74.62

**Solution.** **Method.** Get the three per-unit times, then add seek, latency and transfer separately.

- One rotation $= 60000/12000 = 5$ ms, so the average latency is $2.5$ ms.
- One sector transfer $= 5/500 = 0.01$ ms.
- Seek: tracks $20 \to 35 \to 10 \to 50$ crosses $15 + 25 + 40 = 80$ tracks, so $80 \times 0.5 = 40$ ms.

| Track | Accesses | Time (ms) |
|---|---|---|
| 35 | 6 random sectors, each $2.5 + 0.01$ | $15.06$ |
| 10 | one latency, then 200 sectors in a sweep: $2.5 + 200 \times 0.01$ | $4.5$ |
| 50 | 6 random sectors, each $2.5 + 0.01$ | $15.06$ |

Total $= 40 + 15.06 + 4.5 + 15.06 = 74.62$ ms.

**The trap.** "Randomly located" means the head has to wait for each sector separately, so latency is paid **per sector**; a consecutive run pays it **once**. Mixing these up is the main error (49.62 if you pay latency per track everywhere). The other two slips are using a full rotation as the average latency (107.12) and starting the seek count at the first requested track instead of the head's actual starting track (67.12).

**What was tested.** Building disk service time from its three components and knowing when each component is paid: seek once per track change, latency once per independent positioning, transfer once per sector.

**Remember:** Disk time = seek + rotational latency + transfer, each charged at its own granularity: seek per track move, average latency (half a rotation) per independent sector or per contiguous run, transfer per sector.

**Why each option:**
- (A) Charges one latency per track instead of one per randomly located sector, so 10 latencies of 2.5 ms on tracks 35 and 50 are lost.
- (B) Measures seek only between the requested tracks and forgets the first move from track 20 to track 35 (15 tracks, 7.5 ms).
- (C) 40 ms seek over 80 tracks, plus 15.06 + 4.5 + 15.06 ms of latency and transfer on the three tracks.
- (D) Uses a full rotation (5 ms) as the average latency instead of half a rotation (2.5 ms).
