一、磁盘核心参数与访问时间计算(含详细步骤)
1. 基础概念回顾
磁盘访问时间 = 寻道时间 + 旋转延迟时间 + 数据传输时间
- 寻道时间:磁头移动到目标磁道的时间(与磁道距离相关)
- 旋转延迟:磁盘旋转到目标扇区的时间(与转速相关)
- 传输时间:读写数据的时间(与数据量和磁盘带宽相关)
2. 经典例题解析(带完整计算步骤)
题目:某磁盘有100个磁道,磁头每移动1个磁道需6ms。逻辑相邻数据块平均磁道距离为10,每块旋转延迟100ms,传输时间20ms。求读取100块的总时间。
计算步骤:
-
单块寻道时间 :
磁道距离×单磁道移动时间 = 10×6 = 60ms
-
单块总访问时间 :
寻道时间 + 旋转延迟 + 传输时间 = 60 + 100 + 20 = 180ms
-
100块总时间 :
单块时间×块数 = 180×100 = 18000ms = 18秒
二、常见题型及详细计算案例
题型1:磁盘调度算法(寻道时间计算)
题目:磁头初始位置在50号磁道,请求序列为:90、30、70、10、60。分别用FCFS、SSTF、SCAN算法计算总寻道长度。
-
FCFS(先来先服务)
按请求顺序移动:50→90→30→70→10→60
寻道长度:
(90-50) + (90-30) + (70-30) + (70-10) + (60-10)
= 40 + 60 + 40 + 60 + 50 = 250
-
SSTF(最短寻道优先)
优先选择最近磁道:50→60→70→90→30→10
寻道长度:
(60-50) + (70-60) + (90-70) + (90-30) + (30-10)
= 10 + 10 + 20 + 60 + 20 = 120
-
SCAN(电梯算法,假设磁头向磁道号增大方向移动)
路径:50→60→70→90(端点)→30→10
寻道长度:
(60-50)+(70-60)+(90-70)+(90-30)+(30-10)
= 10 + 10 + 20 + 60 + 20 = 120
题型2:旋转延迟与传输时间计算
题目 :磁盘转速7200转/分钟,每个磁道100个扇区,每个扇区512字节。求:
(1)平均旋转延迟;(2)读取一个扇区的传输时间。
计算步骤:
-
计算旋转周期 :
转速=7200转/分钟 = 120转/秒 → 1转时间=1/120秒≈8.333ms
-
平均旋转延迟 (半周期):
8.333ms ÷ 2 ≈ 4.166ms
-
传输时间 :
1个磁道数据量=100×512字节=51200字节
磁盘带宽=51200字节/8.333ms≈6.144MB/s
1个扇区传输时间=512字节 ÷ 6.144MB/s ≈ 0.083ms
题型3:磁盘总容量计算
题目:某磁盘有2个磁头(2个盘面),800个柱面(磁道),每磁道32个扇区,扇区大小512字节。求总容量。
计算步骤 :
总容量 = 磁头数×柱面数×扇区数×扇区大小
= 2 × 800 × 32 × 512字节
= 2×800=1600;1600×32=51200;51200×512=26,214,400字节
换算为MB:26,214,400 ÷ 1024 ÷ 1024 = 25MB
题型4:综合性能分析
题目:某磁盘寻道时间5ms,转速10000转/分钟,传输速率100MB/s。读取一个4KB的文件,需移动2个磁道。求总访问时间。
计算步骤:
- 寻道时间:2×(5ms/磁道) = 10ms
- 旋转延迟:转速=10000转/分钟≈166.67转/秒 → 周期=6ms → 平均延迟=3ms
- 传输时间:4KB ÷ 100MB/s = 4×1024B ÷ (100×1024×1024B/s) ≈ 0.039ms
- 总时间:10 + 3 + 0.039 ≈ 13.039ms
三、总结
- 核心公式:总时间=寻道+旋转延迟+传输
- 调度算法需按规则模拟磁头移动路径
- 转速与旋转周期成反比(转速越高,延迟越低)
- 容量计算需注意单位换算(1MB=1024×1024字节)
通过具体数值代入公式,逐步拆解每一步,就能类问题均可按此逻辑解决。