适合读者软考中级备考同学阅读时间3.5分钟内容磁盘物理结构、关键参数、访问时间计算、例题1. 磁盘的基本结构机械硬盘HDD是常见的外存设备其结构如下盘片Platter圆形金属或玻璃基片两面涂有磁性材料。磁道Track盘片上半径不同的同心圆。数据记录在磁道上。扇区Sector每个磁道被划分为若干弧段每个弧段称为一个扇区。扇区是磁盘读写的最小单位通常512字节或4KB。柱面Cylinder所有盘片上相同半径的磁道构成的圆柱面。读写时磁头移动到同一柱面后可通过切换磁头访问不同盘面。磁头Head每个盘面有一个读写磁头所有磁头固定在同一个移动臂上一起移动。图示文字描述盘面0: 磁道0,1,2... 每个磁道有多个扇区 盘面1: 磁道0,1,2... ... 柱面 所有盘面上相同编号的磁道组成的集合2. 磁盘的关键参数2.1 转速Rotational Speed单位转/分钟RPM。常见有5400、7200、10000、15000 RPM。转速决定了旋转延迟。2.2 寻道时间Seek Time磁头从当前位置移动到目标磁道所需的时间。平均寻道时间约为磁道间移动时间的一半通常5~10 ms。2.3 旋转延迟Rotational Latency磁头到达目标磁道后等待目标扇区旋转到磁头下方的时间。平均旋转延迟 旋转一圈时间的一半。旋转一圈时间T r o t a t i o n 60 R P M T_{rotation} \frac{60}{RPM}Trotation​RPM60​秒。平均旋转延迟T l a t e n c y T r o t a t i o n 2 30 R P M T_{latency} \frac{T_{rotation}}{2} \frac{30}{RPM}Tlatency​2Trotation​​RPM30​秒。2.4 传输时间Transfer Time读取一个扇区或若干个连续扇区所需的时间取决于转速和扇区大小。T t r a n s f e r 要读取的扇区数 每圈的扇区数 × T r o t a t i o n T_{transfer} \frac{要读取的扇区数}{每圈的扇区数} \times T_{rotation}Ttransfer​每圈的扇区数要读取的扇区数​×Trotation​3. 磁盘访问时间的组成读写一个扇区的总时间T a c c e s s T s e e k T l a t e n c y T t r a n s f e r T_{access} T_{seek} T_{latency} T_{transfer}Taccess​Tseek​Tlatency​Ttransfer​T s e e k T_{seek}Tseek​寻道时间T l a t e n c y T_{latency}Tlatency​平均旋转延迟T t r a n s f e r T_{transfer}Ttransfer​传输时间通常很小可与前两项比较注意若读写多个连续扇区即同一个磁道上的多个相邻扇区寻道和旋转延迟只需一次传输时间会相应增加。4. 典型计算示例题目某磁盘转速为7200 RPM平均寻道时间为8 ms每磁道有1000个扇区每个扇区大小为512 B。求(1) 平均旋转延迟(2) 读取一个随机扇区的平均访问时间(3) 读取一个磁道上的全部扇区所需时间。解(1) 转速7200 RPM → 旋转一圈时间T r o t a t i o n 60 7200 0.00833 s 8.33 ms T_{rotation} \frac{60}{7200} 0.00833 \text{ s} 8.33 \text{ ms}Trotation​720060​0.00833s8.33ms平均旋转延迟T l a t e n c y T r o t a t i o n 2 4.165 ms T_{latency} \frac{T_{rotation}}{2} 4.165 \text{ ms}Tlatency​2Trotation​​4.165ms(2) 读取一个扇区的传输时间每圈1000个扇区一个扇区传输时间 8.33 ms / 1000 0.00833 ms 8.33 \text{ ms} / 1000 0.00833 \text{ ms}8.33ms/10000.00833ms平均访问时间T a c c e s s 8 4.165 0.00833 ≈ 12.17 ms T_{access} 8 4.165 0.00833 \approx 12.17 \text{ ms}Taccess​84.1650.00833≈12.17ms(3) 读取整个磁道1000个连续扇区寻道时间仍为8 ms旋转延迟因为要读整个磁道磁头需从扇区起始点开始。通常假设磁头已到达目标扇区起始位置旋转延迟可忽略或取平均旋转延迟实际上读取整个磁道的最佳情况是不需额外等待从当前位置开始但题目通常要求计算顺序读取一整圈的时间。更合理的计算先寻道8 ms然后读一圈的时间等于旋转一圈时间8.33 ms总时间 ≈ 16.33 ms。如果要求包含平均旋转延迟则再加4.165 ms不读取整个磁道通常假设从任意位置开始需要先旋转到起始扇区平均半圈然后读一整圈总旋转1.5圈。但软考常见简化读整个磁道时间 寻道时间 旋转一圈时间因为读一圈需要完整旋转。若题目没有明确按简单方式处理。答案(1) 约4.17 ms(2) 约12.17 ms(3) 约16.33 ms寻道8 ms 旋转一圈8.33 ms5. 经典例题软考常见题目1某磁盘的转速为5400 RPM平均寻道时间为12 ms每个磁道有800个扇区每个扇区512 B。问平均旋转延迟是多少解T r o t a t i o n 60 5400 ≈ 0.01111 s 11.11 ms T_{rotation} \frac{60}{5400} \approx 0.01111 \text{ s} 11.11 \text{ ms}Trotation​540060​≈0.01111s11.11msT l a t e n c y 11.11 / 2 5.56 ms T_{latency} 11.11 / 2 5.56 \text{ ms}Tlatency​11.11/25.56ms答案约5.56 ms题目2若磁盘访问时间中寻道时间和旋转延迟占主导传输时间很小。以下哪种措施最能减少随机访问时间A. 提高转速B. 增加每磁道扇区数C. 减少寻道时间D. 增大扇区大小解析随机访问时间主要由寻道时间和旋转延迟构成。寻道时间取决于磁头移动速度转速影响旋转延迟。两者都重要但选项C直接减少寻道时间对随机访问效果显著。提高转速也可减少旋转延迟但通常寻道时间占比更大。软考题常见答案为减少寻道时间或提高转速需看具体选项。答案C或A视题目倾向题目3计算磁盘转速10000 RPM平均寻道时间6 ms每磁道200个扇区每个扇区4 KB。读取一个随机扇区的平均时间是多少解T r o t a t i o n 60 10000 0.006 s 6 ms T_{rotation} \frac{60}{10000} 0.006 \text{ s} 6 \text{ ms}Trotation​1000060​0.006s6msT l a t e n c y 3 ms T_{latency} 3 \text{ ms}Tlatency​3msT t r a n s f e r 6 ms 200 0.03 ms T_{transfer} \frac{6 \text{ ms}}{200} 0.03 \text{ ms}Ttransfer​2006ms​0.03msT a c c e s s 6 3 0.03 9.03 ms T_{access} 6 3 0.03 9.03 \text{ ms}Taccess​630.039.03ms答案约9.03 ms6. 记忆口诀磁道同心圆扇区弧段分。柱面同半径磁头上下跟。寻道找磁道旋转等扇区。转速定时间公式记在心。7. 给备考同学的一句话磁盘参数计算属于计算机系统知识的简单计算题。记住平均旋转延迟 半圈时间总访问时间 寻道 旋转延迟 传输时间传输时间 旋转一圈时间 ÷ 每圈扇区数单扇区读取连续扇区时寻道和旋转延迟只算一次考试时看清是“随机访问”还是“顺序读取连续扇区”随机访问需加旋转延迟顺序读取连续扇区通常只加一次寻道和一次旋转或直接加旋转一圈时间。本专栏日更2篇点击头像 → 专栏《软考中级高频考点》订阅#软考中级 #软件设计师 #磁盘结构 #磁道 #扇区 #转速 #计算机系统知识