Appearance
题目
若磁盘转速为 7200rpm,平均寻道时间为 8ms,每个磁道包含 1000 个扇区,则访问一个扇区的平均存取时间大约是( )。
错因
A
只算了寻道 + 传输,漏了旋转延迟: ms,凑成 8.1 ms。这是磁盘存取时间题最常见的失分点——磁盘存取分寻道 + 旋转延迟 + 传输三段,旋转延迟(约 4 ms 量级)不能漏。
C
把旋转延迟算成了一整圈而不是半圈: ms。平均旋转延迟应取转半圈的时间——因为目标扇区在盘面上随机分布,平均要等 1/2 圈(最少 0、最多 1 圈,期望 1/2)。
D
把传输时间错算成读完一整圈(一个磁道)的时间,而不是读 1 个扇区的时间: ms。题目问的是"访问一个扇区",传输时间要除以扇区数 1000。
总解析
核心思路:磁盘平均存取时间 = 平均寻道时间 + 平均旋转延迟 + 传输时间。三个量各算各的,最后求和。
第一步:平均寻道时间
题目直接给出:
第二步:平均旋转延迟
转速 7200 rpm = 7200 转/分 = 120 转/秒,单圈时间:
平均旋转延迟取半圈时间:
为什么是半圈:目标扇区在盘面上的位置随机均匀分布,盘片转到目标扇区的等待时间最坏 1 圈、最好 0 圈,期望就是 1/2 圈。
第三步:传输时间(读 1 个扇区)
每磁道有 1000 个扇区,转 1 圈正好把整磁道扫完。所以读 1 个扇区的传输时间 = 转 1/1000 圈:
第四步:求和
| 部分 | 数值 (ms) |
|---|---|
| 寻道 | 8.00 |
| 旋转延迟 | 4.17 |
| 传输 | 0.0083 |
| 合计 | ≈ 12.18 |
≈ 12.2 ms
最终答案是 B(12.2ms)。
易错点速记:
| 量 | 公式 | 本题数值 |
|---|---|---|
| 一圈时间 | 8.33 ms | |
| 平均旋转延迟 | (半圈!) | 4.17 ms |
| 读 1 个扇区传输 | 0.0083 ms | |
| 平均存取 | 寻道 + 旋转 + 传输 | 12.2 ms |
考场速记口诀:寻道 + 半圈 + 一格("一格" = 一圈时间 ÷ 扇区数)。看到磁盘存取题先把这三段一一对应,别漏旋转延迟、别把半圈算成整圈、别把扇区传输算成磁道传输——三大坑全都在这道题里同时设了陷阱。