目录
💽 硬盘驱动器(HDD):传统的固定辅助存储设备
什么是硬盘驱动器?
硬盘的工作原理
HDD 的物理结构
Disk Pack(盘组)
Tracks(磁道)
Cylinders(柱面)
Sectors(扇区)
扇区容量:512 Bytes(标准)
硬盘容量的计算公式
Average Access Time(平均访问时间)
Seek Time(寻道时间)
Rotational Delay(旋转延迟)
例题
💽 硬盘驱动器(HDD):传统的固定辅助存储设备
什么是硬盘驱动器?
硬盘(Hard Disk Drive, HDD)是一种非易失性的固定辅助存储设备,用来长期存储操作系统、程序和用户数据。
即使关机断电,硬盘上的数据仍然保存不变。它属于 Secondary Memory(二级存储) 中的 固定辅存(Fixed Auxiliary Storage) 类型。
硬盘的工作原理
-
硬盘内部有高速旋转的圆形磁盘(碟片)
-
数据以磁性形式写在磁盘表面
-
有一根读写磁头(磁头臂)在上面移动,读取或写入数据
-
所有操作都由内置控制电路协调完成
HDD 的物理结构
Disk Pack(盘组)
Disk Pack 是硬盘中由 多张磁盘(platters) 组成的整体,每张磁盘上下两个面可用于存储。
结构:
-
一组**磁盘片(Platters)**垂直堆叠在一起
-
中心有一个**主轴(Spindle)**带动所有盘片高速旋转
-
每个盘面上方有一个 读写磁头(Read/Write Head)
-
多个磁头通过**磁头臂组合(Actuator Arm Assembly)**控制同步移动
Tracks(磁道)
每个磁盘面被划分为多个同心圆形的区域,这些圆圈就叫做 Tracks(磁道)
-
每个 Track 像唱片上的一圈一圈
-
每个面有若干个 Tracks,编号从中心向外递增
-
Track 是数据存储的第一层逻辑单位
Cylinders(柱面)
柱面(Cylinder)是多个磁盘上相同编号的 Tracks 所组成的一组
📌 举例说明:
假设你有 4 个磁盘面(上下各两个),如果每个面上都有第 100 条磁道,那么这几个第100号磁道就组成一个柱面。
-
所有磁头在移动时,是同时移动到相同的 Track 编号 → 所有同编号的 Track → 形成 Cylinder
-
柱面就像是一根穿过所有磁盘的“虚拟柱子”
结论:
每个磁盘面一个 Track,多个面组合在同一 Track 编号处就组成了一个 Cylinder
所以:#Cylinders = #Tracks(每面)
Sectors(扇区)
磁道(Track) 被进一步划分为若干个弧段,这些段就是Sectors(扇区)
-
每个 Sector 是硬盘中可以独立读写的最小物理单元
-
在传统硬盘中,每个 Sector 的容量固定为:512 Bytes(字节)
⚠️ 注意:
-
一个 Track 上有多个 Sector
-
所有 Sector 通常大小相同(统一管理方便)
扇区容量:512 Bytes(标准)
为什么用 512B?
-
这是传统硬盘的默认标准,兼容早期 BIOS 和文件系统设计
-
512B 刚好适合存储一个数据块和校验信息,读写效率较好
变化趋势:
-
高容量硬盘逐步转向 4KB 扇区(Advanced Format),但对外仍用 512B “逻辑扇区”模拟,以保兼容
Page(页)和 Sector 的关系
💡 Page(页)是操作系统或文件系统管理数据的单位,通常大小为 4 KB(4096 Bytes)
二者的关系:
项目 | 值 |
---|---|
1 Sector | 512 Bytes |
1 Page | 4096 Bytes |
1 Page = ? Sectors | 4096 ÷ 512 = 8 Sectors |
📌 说明:
-
操作系统读取/写入时,按页(Page)为单位
-
硬盘实际存储数据时,以扇区(Sector)为最小单位
-
所以:
一次读取一个 Page,硬盘至少要访问 8 个连续的 Sectors
硬盘容量的计算公式
📌 容量(每个盘面)的计算公式如下:
Capacity = #Tracks × #Sectors/Track × #Bytes/Sector
各参数解释:
参数 | 含义 | 举例 |
---|---|---|
#Tracks | 每个盘面有多少磁道(环) | 如:10,000 |
#Sectors/Track | 每个磁道上分成多少扇区 | 如:400 |
#Bytes/Sector | 每个扇区大小 | 标准:512 Bytes |
Capacity | 单面容量 | 最终结果,单位为字节(Bytes) |
例子:
假设:
- 每面磁道数 = 10,000
- 每磁道扇区数 = 400
- 每扇区大小 = 512 Bytes那么每个盘面的容量 =
10,000 × 400 × 512 = 2,048,000,000 Bytes ≈ **2 GB**
如果有 2 张盘片(4 个面),总容量就是:2 GB × 4 = 8 GB
Average Access Time(平均访问时间)
这是衡量硬盘性能最常用的指标之一,计算公式为:
TS + TR + TDataTransfer
时间项 | 解释 | 常见值 |
---|---|---|
Ts | 寻道时间 | 8~12 ms |
TR | 旋转延迟 | 3~5 ms |
Ttransfer | 数据传输时间 | 0.05~0.5 ms |
Taccess | 平均访问总时间 | 12~16 ms |
Seek Time(寻道时间)
寻道时间 Ts 是指:磁头臂从当前位置移动到目标柱面(Cylinder)所花费的时间。
如果题目中未直接指明,则默认为0。
组成部分:
-
启动时间:开始移动磁头
-
加速/减速时间:控制磁头平滑移动
-
定位时间:精确对准目标柱面
特点:
-
通常为硬盘访问时间中最耗时的部分
-
取决于磁头臂从当前位置移动到目标位置的距离
Rotational Delay(旋转延迟)
旋转延迟指目标扇区旋转到磁头正下方所需的等待时间,用TR表示。
🎯计算方式:
平均旋转延迟 = 0.5 × 一个转一圈的时间
转速(RPM) | 一圈时间 | 平均 Tr(ms) |
---|---|---|
5400 RPM | 11.1 ms | ~5.55 ms |
7200 RPM | 8.33 ms | ~4.17 ms |
10000 RPM | 6 ms | ~3 ms |
如果题目中未直接指明,则默认为TR = 1/2 * Rotation Time 。
例题
这道题目中说,一共有四个面,可能有以下两种情况:
1. 有两个磁盘,都能在双面存储数据
2. 有三个磁盘,只有中间的磁盘能够双面存储,顶部和底部的磁盘只有单面存储的能力。