news 2026/5/16 14:41:16

磁盘物理结构和工作原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
磁盘物理结构和工作原理

1.机械磁盘

1.1 磁盘物理结构

  • 磁盘由一个或多个盘片(Platter)组成,每个盘片有上下两个盘面(Surface)
  • 每个盘面被划分成许多同心圆轨道,称为磁道(Track)
  • 多个盘面上相同半径的磁道组成一个柱面(Cylinder)
  • 每个磁道又被划分成多个扇区(Sector),是磁盘读写的最小物理单位(通常为 512B 或 4KB)。
  • 柱面(Cylinder)所有盘片上相同编号的磁道构成一个柱面。



磁盘有正反两个盘面,一个磁道,每个每个盘面有多个同心圆,每个同心圆是同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。


1.2. 磁头与读写

  • 每个盘面对应一个磁头(Head),所有磁头固定在同一个磁头臂(Actuator Arm)上同步移动。
  • 磁头臂的移动称为寻道(Seeking),使磁头定位到目标磁道。
  • 磁盘在电机的带动下高速旋转(例如 7200 RPM),使扇区经过磁头下方。


1.3. 磁盘访问时间

磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇区,才能读取到对应的数据,因此,会产生寻道时间和等待时间。公式为:存取时间=寻道时间+等待时间
注意:寻道时间是指磁头移动到磁道所需的时间;
等待时间为等待读写的扇区转到磁头下方所用的时间。

公式:
[
\text{磁盘访问时间} = \text{寻道时间} + \text{旋转延迟} + \text{传输时间}
]
有时也把旋转延迟 + 传输时间合称为等待时间

更常见的分解如下:

① 寻道时间(Seek Time)

  • 磁头从当前磁道移动到目标磁道的时间。
  • 取决于磁头臂的移动速度与移动距离(跨越的磁道数)。
  • 平均寻道时间为统计值(约几毫秒,机械硬盘通常在 3~15 ms)。
  • 扇区按顺序旋转

② 旋转延迟(Rotational Latency)

  • 磁头到达目标磁道后,等待目标扇区旋转到磁头正下方的时间。
  • 平均旋转延迟 = 磁盘旋转半圈所需的时间。
    例如:
    [
    \text{平均旋转延迟} = \frac{1}{2} \times \frac{60}{\text{RPM}} \ \text{秒}
    ]
    7200 RPM 时,平均旋转延迟 ≈ ( \frac{1}{2} \times \frac{60}{7200} = 4.17 \ \text{ms} )。

RPM = Revolutions Per Minute(转/分钟)

7200 RPM 表示 每分钟 7200 转

所以转速是 7200 转 / 60 秒

[
T_{\text{转一圈}} = \frac{60 \ \text{秒}}{ \text{RPM} }
]
60 秒 是因为 RPM 是 每分钟的转数,我们要得到 每转多少秒,就要用 60 秒 除以 每分钟转数。

类比
想象你在操场上等一位跑步的朋友,他每 60 秒跑完一圈。你随机时间到达操场边:

  • 有时他刚好经过你(等待 0 秒)。
  • 有时他刚离开你(等待近 60 秒)。
  • 平均你需要等他30 秒(半圈时间)。

③ 传输时间(Transfer Time)

  • 从目标扇区开始,数据通过磁头读取并传送到磁盘控制器缓存的时间。
  • 取决于扇区大小、磁盘转速与磁道数据密度。
    [
    \text{传输时间} = \frac{\text{要传输的数据量}}{\text{磁盘数据传输率}}
    ]

示例计算
假设:

  • 平均寻道时间 = 5 ms
  • 磁盘转速 = 7200 RPM → 平均旋转延迟 = 4.17 ms
  • 读取一个扇区(512B),磁盘内部传输速度 150 MB/s → 传输时间 ≈ 3.4 μs(远小于前两者)

总访问时间 ≈ 5 + 4.17 + 0.0034 ≈9.17 ms

可见主要开销是寻道旋转延迟,因此磁盘调度算法(如 SSTF、SCAN)和扇区布局优化很重要。

这是一个很好的问题!平均旋转延迟等于磁盘旋转半圈所需的时间,这其实是一个统计学上的结论。我们来一步步解释:


1.4.磁盘调度算法

之前已经说过,磁盘数据的读取时间分为寻道时间+旋转时间,也即先找到对应
的磁道,而后再旋转到对应的扇区才能读取数据,其中寻道时间耗时最长,需
要重点调度,有如下调度算法:

  • 先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
  • 最短寻道时间优先SSTF: 请求访问的磁道与当前磁道最近的进程优先调度,使得
  • 每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
  • 扫描算法SCAN:又称“电梯算法”,磁头在磁盘上双向移动,其会选择离磁头
    当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都
    是从里向外或者从外向里一直移动完才掉头,与电梯类似。
  • 单向扫描调度算法CSCAN: 与SCAN不同的是,其只做单向移动,即只能从里向
    外或者从外向里。

你总结得非常准确!磁盘调度算法的核心目标是最小化平均寻道时间,从而提升 I/O 性能。下面我将对你提到的几种经典磁盘调度算法进行系统梳理,并补充一些关键细节、优缺点对比以及适用场景,帮助你更深入理解。


磁盘调度的目标

  • 减少平均寻道时间(Seek Time):这是磁盘 I/O 延迟的主要来源。
  • 提高吞吐量:单位时间内完成更多 I/O 请求。
  • 避免“饥饿”(Starvation):确保所有请求最终都能被服务。
  • 公平性与实时性:在某些系统中需兼顾响应及时性。

常见磁盘调度算法详解

1.4.1. 先来先服务(FCFS, First-Come First-Served)

  • 原理:按请求到达的顺序依次处理。
  • 示例:当前磁头在 50 号磁道,请求序列为 [98, 183, 37, 122, 14] → 按此顺序移动。
  • 优点
    • 实现简单,公平(无饥饿)。
  • 缺点
    • 寻道路径可能来回跳跃,效率低。
    • 平均寻道时间长。
  • 适用场景:请求较少或对性能要求不高的系统。

1.4.2. 最短寻道时间优先(SSTF, Shortest Seek Time First)

  • 原理:每次选择距离当前磁头位置最近的请求。
  • 示例:当前在 50,请求为 [45, 60, 10, 120] → 先服务 45(差5),再60(差15)……
  • 优点
    • 显著降低平均寻道时间,性能优于 FCFS。
  • 缺点
    • 可能导致饥饿:远处的请求若不断有新近请求插入,可能长期得不到服务。
    • 非公平调度。
  • 变种:可结合超时机制缓解饥饿。

⚠️ SSTF 是贪心算法,局部最优 ≠ 全局最优。


1.4.3. 扫描算法(SCAN,又称“电梯算法”)

  • 原理
    • 磁头沿一个方向(如向外)移动,服务路径上所有请求;
    • 到达最外(或最内)磁道后,反向扫描
  • 特点
    • 移动方向固定,直到边界才掉头。
    • 请求按方向分组处理。
  • 优点
    • 避免 SSTF 的饥饿问题(所有请求最终都会被扫到);
    • 寻道效率高,适合负载较重的系统。
  • 缺点
    • 刚刚错过的请求需等待磁头走到尽头再返回,响应延迟可能较大
  • 示例
    • 当前磁头在 50,向外移动,请求 [40, 60, 10, 120]
    • 先服务 60 → 120(到边界),然后掉头服务 40 → 10。

1.4.4. 循环扫描算法(C-SCAN, Circular SCAN)

  • 原理
    • 磁头单向移动(如只从内向外);
    • 到达最外磁道后,立即跳回最内磁道(不服务返回路径上的请求),继续向外扫描。
  • 效果:形成一个“环形”服务队列。
  • 优点
    • 所有请求的等待时间更均匀
    • 更适合随机分布的请求
  • 缺点
    • 磁头跳回起点时存在空转(浪费时间),但现代硬盘可通过预测优化。
  • 与 SCAN 对比
    • C-SCAN 牺牲少量效率换取更好的公平性和可预测性

其他进阶调度算法(扩展了解)

1.4.5. LOOK 算法(SCAN 的优化版)

  • 不必移动到物理边界才掉头,而是在最远请求处就转向。
  • 减少无效移动,提升效率。
  • 同理有C-LOOK(C-SCAN 的优化版)。

1.4.6. FSCAN(分队列 SCAN)

  • 将请求分为两个队列:
    • 一个用于当前扫描周期;
    • 新请求进入另一个队列,下一轮处理。
  • 防止新请求“插队”导致原队列延迟过大。

算法对比总结

算法平均寻道时间是否公平是否饥饿实现复杂度适用场景
FCFS简单系统、低负载
SSTF轻负载、性能优先
SCAN中~低通用服务器、多任务系统
C-SCAN✅✅随机访问、强调公平性
LOOK低于 SCAN中高现代操作系统常用

✅ 表示“是”或“好”,❌ 表示“否”或“差”。


实际应用

  • Linux 内核早期使用CFQ(Completely Fair Queuing),后来默认采用DeadlineNOOP/MQ-DEADLINE(针对 SSD 优化)。
  • Windows使用基于SCAN/LOOK的变种。
  • SSD 不需要磁盘调度(无机械部件),因此现代系统会自动禁用复杂调度算法。

2.固态硬盘

固态硬盘(SSD)

SSD无机械运动部件,依靠闪存芯片存储数据,结构更简洁,核心由核心电子组件构成,无逻辑存储区域的划分,具体如下:

  1. 核心电子组件
    组件作用
    闪存芯片存储数据的核心载体,通常采用NAND闪存,由大量存储单元组成,通过浮栅晶体管的电荷状态存储0/1信号,常见多芯片并联提升容量和读写速度。
    主控芯片相当于SSD的“大脑”,负责管理闪存芯片,包括数据的读写分配、磨损均衡(避免部分芯片过度使用)、错误校验等,直接影响SSD的读写速度和稳定性。
    缓存芯片可选组件,多为DRAM芯片,用于临时缓存频繁读写的数据,减少对闪存芯片的直接访问,提升读写响应速度,部分入门级SSD会省略缓存以降低成本。
    接口电路负责与主板接口(如SATA、M.2)适配,实现SSD与CPU、内存的数据传输。
  2. SSD结构示意图
    ┌─────────────────────────────────────┐ │ 接口电路(SATA/M.2) │ ← 连接主板 ├─────────────────────────────────────┤ │ 主控芯片 │ ← 核心控制单元 ├─────────────┬─────────────┬─────────┤ │ 缓存芯片 │ 闪存芯片1 │ 闪存芯片2│ ├─────────────┼─────────────┼─────────┤ │ │ 闪存芯片3 │ 闪存芯片4│ │ └─────────────┴─────────┘ └─────────────────────────────────────┘

补充说明

HDD的容量可通过公式计算:容量=磁头数×柱面数×每磁道扇区数×扇区大小;而SSD容量则由闪存芯片的单颗容量和芯片数量决定,其结构无机械磨损,读写速度通常远快于HDD,但闪存芯片有写入寿命限制。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 10:55:18

react 中的组件性能优化

1. 如何优化React组件的性能?React组件的性能优化主要从减少不必要的渲染和优化渲染过程入手:使用React.memo:对函数组件进行浅比较,避免不必要的渲染。const MyComponent React.memo(function MyComponent(props) {/* 只有props…

作者头像 李华
网站建设 2026/5/10 21:23:12

华为手机如何进行图片编辑?三个图片编辑全攻略,让你轻松上手

在当今数字化时代,图片编辑已成为我们日常生活中不可或缺的一部分。无论是记录生活点滴、分享美好瞬间,还是制作创意内容,对图片进行简单的编辑处理总能让照片更具吸引力。而华为手机凭借其专业的内置功能,为使用者提供了便捷的图…

作者头像 李华
网站建设 2026/5/10 21:22:46

Java常用语法,适合零基础小白,收藏这篇就够了

java中的常用语法 一.选择结构(1) 1.if 选择结构 为什么要使用选择结构1: 在生活中我们经常需要做判断,然后才能够决定是否做某件事,而if选择结构是根据条件判断在做处理的一种语法结构. 语法: if(条件) {//条件成立后要执行的代码,可以是一条语句&#xff0c…

作者头像 李华
网站建设 2026/5/13 17:38:46

云原生数据仓库 AnalyticDB Supabase 商业化正式上线!

AnalyticDB PostgreSQL 版 Supabase 是基于开源 Supabase 深度增强的全托管应用开发平台。它提供数据库、用户鉴权、边缘函数等核心功能,并结合阿里云基础设施,提升性能和安全性。与开源自托管方案相比,该平台具备全面的托管能力,…

作者头像 李华
网站建设 2026/5/10 4:39:25

深度解析ET框架UI事件系统与委托交互机制

深度解析ET框架UI事件系统与委托交互机制 【免费下载链接】ET Unity3D 客户端和 C# 服务器框架。 项目地址: https://gitcode.com/GitHub_Trending/et/ET 在Unity游戏开发中,ET框架UI事件系统与委托交互机制为开发者提供了一套高效、灵活的事件处理方案。这套…

作者头像 李华
网站建设 2026/5/8 10:05:39

惠普游戏本终极性能释放:为什么你需要选择更优的解决方案?

还在为官方OMEN Gaming Hub的体积和通知功能而烦恼吗?今天为大家介绍一款专为惠普游戏本设计的纯净硬件控制工具——OmenSuperHub。这款开源软件让你完全掌控设备性能,享受无干扰的游戏体验。 【免费下载链接】OmenSuperHub 项目地址: https://gitcod…

作者头像 李华