Linux 磁盘基础:从物理结构到 CHS/LBA 寻址,吃透数据存储底层逻辑

Linux 磁盘基础:从物理结构到 CHS/LBA 寻址,吃透数据存储底层逻辑
在这里插入图片描述

🔥草莓熊Lotso:个人主页
❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》
✨生活是默默的坚持,毅力是永久的享受!


🎬 博主简介:

在这里插入图片描述

文章目录


前言:

磁盘是 Linux 系统中唯一的机械设备,也是数据持久化存储的核心载体。想要理解文件系统、分区、格式化等上层概念,必须先搞懂磁盘的物理结构,逻辑结构和寻址方式 —— 这是掌握 Linux 存储原理的基础。本文从磁盘硬件结构入手,逐步拆解磁道、柱面、扇区等关键概念,最终讲透 CHS 和 LBA 两种寻址方式的原理与转换逻辑,帮你打通从硬件到系统的存储认知链路。

一. 磁盘硬件基础:机械结构与存储单元

在这里插入图片描述

1.1 磁盘物理组成

机械磁盘的核心部件功能分工明确,类比日常物品更容易理解:

  • 盘片(Platter):类似 “记录数据的光盘”,一个磁盘可能有多个盘片,每个盘片有上下两个盘面(双面存储);
  • 磁头(Head):类似 “读写笔”,每个盘面对应一个磁头,负责读取 / 写入盘面数据;
  • 磁道(Track):盘片旋转时,磁头划过的圆形轨迹(类似光盘上的环形纹路),从外圈到内圈编号(0 磁道、1 磁道…);
  • 扇区(Sector):磁道被分割的扇形区域,是磁盘最小存储单位,默认大小 512 字节,所有磁道的扇区数量相同;
  • 柱面(Cylinder):所有盘片上半径相同的磁道组成的 “圆柱状” 逻辑结构(磁头同步移动,同时访问所有盘面的同编号磁道);
  • 主轴(Spindle):带动盘片高速旋转(转速常见 7200 转 / 分钟),配合磁头移动实现数据寻址。
💡核心结论:磁盘存储数据的物理单元是扇区,而磁头、柱面、扇区三者共同构成了数据的物理定位坐标。
❓️如何定位一个扇区呢?可以先定位磁头(header)确定磁头要访问哪⼀个柱面(磁道)(cylinder)定位⼀个扇区(sector)CHS地址定位(但是OS并不愿意直接使用这种方法,后面会讲)
在这里插入图片描述


在这里插入图片描述

1.2 磁盘容量计算

磁盘总容量由硬件参数直接决定,公式固定:
磁盘容量 = 磁头数 × 柱面数(磁道数) × 每磁道扇区数 × 每扇区字节数(默认512字节)

  • 示例:一个磁盘有 2 个盘片(4 个盘面)、1024 个柱面、每磁道 63 个扇区,容量计算为:4 × 1024 × 63 × 512 = 131072 × 512 = 67108864 字节 = 64 MB

展示一下我的云服务器的磁盘参数,大家也可以看看自己的

在这里插入图片描述

1.3 核心概念辨析:磁道、柱面、扇区

很多初学者会混淆磁道、柱面、扇区的关系,用 “多层同心圆” 模型就能快速理解:

  • 单个盘面:磁道是 “同心圆”,扇区是 “同心圆上的扇形切片”;
  • 多个盘面:所有盘面中 “半径相同的磁道” 组合成 “柱面”(比如盘面 0 的 0 磁道、盘面 1 的 0 磁道… 共同构成 0 柱面);
  • 关键特性:磁头移动时同步进退,一次只能访问一个柱面的所有磁道(所有磁头同时工作),这是后续寻址方式设计的核心依据。

二. 磁盘逻辑结构:系统对物理硬件的抽象

磁盘的逻辑结构是操作系统对物理硬件的 “简化抽象”,核心是将复杂的三维物理结构(盘片→磁道→扇区)转化为易于管理的线性结构,这也是 LBA 寻址能实现的基础。

2.1 多维度理解和理清磁盘逻辑结构

先看看下图的理解过程(后面再来看更真实过程)

在这里插入图片描述


再来看看真实过程:逻辑结构是物理结构的 “镜像抽象”,映射规则固定:

在这里插入图片描述


在这里插入图片描述

2.2 逻辑结构的本质

从系统视角来看,磁盘被抽象成一个一维的扇区数组

  • 数组的每个元素就是一个物理扇区(默认 512 字节);
  • 数组的下标就是 LBA 地址(从 0 开始连续编号);
  • 数组元素的顺序严格遵循 “先扇区→再磁头→最后柱面” 的物理存储顺序(后续 LBA 映射逻辑)。
在这里插入图片描述
这种抽象让系统无需关心 “哪个盘片、哪个磁道”,只需像操作普通数组一样,通过 LBA 地址(下标)访问对应的扇区,极大简化了文件存储、分区管理等上层逻辑。

2.3 逻辑结构的核心优势

  • 地址连续化:物理扇区在逻辑上呈线性排列,系统可通过 “连续 LBA 地址” 实现连续存储,减少磁头移动,提升读写效率;
  • 硬件无关化:逻辑结构屏蔽了不同磁盘的硬件差异(如磁头数、每磁道扇区数),系统用统一的 LBA 地址访问所有磁盘;
  • 管理简化:文件系统可直接基于逻辑扇区划分 “块”(如 4KB 块 = 8 个扇区),无需关注物理硬件细节,这个之后还会再讲的。

三. CHS 寻址:早期的物理坐标定位

3.1 CHS 寻址原理

CHS 是 “柱面(Cylinder)、磁头(Head)、扇区(Sector)” 的缩写,是最早的磁盘寻址方式 —— 直接使用物理部件的坐标定位扇区,逻辑直观:

  • 第一步:磁头移动到目标柱面(确定 “半径方向位置”);
  • 第二步:选择目标盘面的磁头(确定 “哪个盘面”);
  • 第三步:等待盘片旋转,目标扇区转到磁头下方(确定 “磁道上的具体位置”)。

例如:通过CHS(2, 1, 5)可精准定位 “2 号柱面、1 号磁头、5 号扇区” 对应的物理扇区,其实CHS对应的就是数组(三维数组)的下标。

3.2 CHS 的局限性

CHS 寻址完全依赖硬件参数,存在明显缺陷:

  • 容量限制:早期系统用 8 位存储磁头数、10 位存储柱面数、6 位存储扇区数,最大支持容量仅约 8GB(256×1024×63×512 字节),无法满足大磁盘需求;
  • 硬件依赖:不同磁盘的磁头数、扇区数可能不同,系统需适配不同硬件参数,兼容性差;软硬件耦合度高;
  • 地址不连续:物理坐标分散,不利于系统简化存储管理逻辑。

四. LBA 寻址:系统层面的线性地址

4.1 LBA 寻址原理

LBA(Logical Block Address)即 “逻辑块地址”,是对 CHS 的抽象优化 —— 直接使用逻辑结构中 “一维扇区数组的下标” 作为地址,把三维物理坐标(C/H/S)转化为一维线性地址,系统无需关心硬件细节。
核心优势

  • 地址连续:系统只需操作线性整数(如 LBA=1024),无需关注磁头、柱面等硬件参数;
  • 容量无限制:线性地址不受硬件位数限制,支持大容量磁盘(如 LBA-48 标准支持 128PB 容量);
  • 硬件无关:磁盘内部自行完成 LBA 与 CHS 的转换,系统层统一接口。

4.2 LBA 与物理扇区的映射逻辑

LBA 的编号规则完全遵循逻辑结构的数组顺序,确保地址连续对应物理存储的连续性:

  • 同一柱面内:先遍历所有磁头(所有盘面),每个磁头遍历对应磁道的所有扇区;
  • 跨柱面:一个柱面遍历完后,再进入下一个柱面重复上述过程。

五. CHS 与 LBA 的转换:底层核心逻辑

系统使用 LBA 寻址(OS认LBA),而磁盘硬件只识别 CHS 坐标,因此必须进行双向转换 —— 转换逻辑由磁盘固件(硬件电路)自动完成,无需用户干预,但理解转换公式能更深入掌握寻址本质。

5.1 关键前提参数

转换前需明确磁盘的三个固定参数(系统开机时从磁盘获取):

  • H:总磁头数;
  • S:每磁道扇区数;
  • 单个柱面的扇区总数 = H × S(所有磁头的所有扇区)。

5.2 CHS 转 LBA(物理坐标→线性地址)

  • 公式LBA = 柱面号(C)× 单个柱面扇区数(H×S) + 磁头号(H)× 每磁道扇区数(S) + 扇区号(S) - 1
  • 扇区号(S)从 1 开始(硬件约定),LBA 从 0 开始,因此需减 1;
  • 示例:磁盘 H=4、S=4,CHS (0,1,2) 转换为 LBA:LBA = 0×(4×4) + 1×4 + 2 - 1 = 0 + 4 + 1 = 5

5.3 LBA 转 CHS(线性地址→物理坐标)

  • 公式
    • 柱面号(C)= LBA ÷ 单个柱面扇区数(H×S) (整除)
    • 剩余扇区数 = LBA % 单个柱面扇区数(H×S) (取余)
    • 磁头号(H)= 剩余扇区数 ÷ 每磁道扇区数(S) (整除)
    • 扇区号(S)= 剩余扇区数 % 每磁道扇区数(S) + 1 (取余后+1,适配硬件编号)
  • 示例:磁盘 H=4、S=4,LBA=5 转换为 CHS:
单个柱面扇区数 = 4×4=16; C=5÷16=0; 剩余扇区数 = 5%16=5; H=5÷4=1; S=5%4 +1=1+1=2;
结果:CHS (0,1,2)(与前面示例反向验证一致)。

5.4 图示深入理解(重点看,很详细)

在这里插入图片描述

结尾:

🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点: 👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长 ❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量 ⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用 💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑 🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解 技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标! 

结语:磁盘的物理结构,逻辑结构和寻址方式是 Linux 存储的 “地基”—— 后续的分区(按柱面划分)、文件系统(管理扇区 / 块)、格式化(写入文件系统元数据)等操作,都依赖本文讲解的底层逻辑。理解 CHS 到 LBA 的演进,能帮你明白 “系统如何屏蔽硬件差异” 的设计思想,这也是 Linux “一切皆文件” 抽象理念的底层体现。

✨把这些内容吃透超牛的!放松下吧✨ʕ˘ᴥ˘ʔづきらど

Read more

曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 当年,微软一句“Windows 10 将是最后一个版本”的表态,让不少用户以为 Windows 进入了“只更新、不换代”的时代。但几年过去,现实却完全不同。 在 Windows 11 发布之后,如今关于 Windows 12 的传闻再次密集出现。从内部代号、代码片段,到硬件厂商的暗示与 OEM 预热标签,种种线索拼在一起,勾勒出一个明显的趋势——这不会只是一次常规升级,而更像是一次围绕 AI 的平台级重构。 更关键的是,这次争议,可能远比当年 TPM 2.0 更大。 精准卡位 Windows 10 退场的时间?

By Ne0inhk
“裸奔龙虾”数量已达27万只,业内人士警告;AI浪潮下,中传“砍掉”翻译等16个专业;薪资谈判破裂,三星电子8.9万人要罢工 | 极客头条

“裸奔龙虾”数量已达27万只,业内人士警告;AI浪潮下,中传“砍掉”翻译等16个专业;薪资谈判破裂,三星电子8.9万人要罢工 | 极客头条

「极客头条」—— 技术人员的新闻圈! ZEEKLOG 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:[email protected]) 整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 一分钟速览新闻点! * “裸奔龙虾”已高达27万只!业内人士警告:一旦黑客入侵,敏感信息一秒搬空 * 阿里云 CTO 周靖人代管千问模型一号位,刘大一恒管理更多团队 * 中国传媒大学砍掉翻译、摄影等 16 个本科专业,直言教育要面向人机分工时代 * 雷军放话:小米将很快推出 L3、L4 的驾驶 * 消息称原理想汽车智驾一号位郎咸朋具身智能赛道创业 * vivo 前产品经理宋紫薇创业,瞄准 AI 时尚Agent,获亿元融资 * MiniMax 发布龙虾新技能,股价暴涨超 23% * 薪资谈判破裂,三星电子

By Ne0inhk
Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

整理 | 屠敏 出品 | ZEEKLOG(ID:ZEEKLOGnews) 日前,TIOBE 发布了最新的 3 月编程语言榜单。整体来看,本月排名变化不算大,但榜单中仍然出现了一些值得关注的小波动。  AI 工具能帮大家秒懂最新编程语言趋势? 由于 2 月天数较少,3 月的榜单整体变化有限。借着这次发布,TIOBE CEO Paul Jansen 也回应了一个最近被频繁讨论的问题:为什么 TIOBE 指数仍然依赖搜索引擎统计结果?在大语言模型流行的今天,直接询问 AI 哪些编程语言最流行,是不是更简单? 对此,Jansen 的回答是否定的。 他解释称,TIOBE 指数本质上统计的是互联网上关于某种编程语言的网页数量。而大语言模型的训练数据同样来自这些网页内容,因此从信息来源来看,两者并没有本质区别。换句话说,LLM 的判断,本质上也是建立在这些网页数据之上的。 Python 活跃度仍在下降

By Ne0inhk
一天开13个会、一个Bug要修200天!前亚马逊L7爆料:这轮大裁员,AI只是“背锅侠”

一天开13个会、一个Bug要修200天!前亚马逊L7爆料:这轮大裁员,AI只是“背锅侠”

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 过去一年,大型科技公司的裁员消息几乎从未停过。但当公司对外给出的理由越来越统一,“AI 让组织更高效”,也有越来越多内部员工开始提出另一种质疑:事情或许没那么简单。 最近,一段来自前亚马逊员工 Becky 的 YouTube 视频在开发者社区流传开来。她曾在亚马逊工作 7 年,其中 5 年担任 L7 级别的技术管理者,负责过团队年度规划(OP1)等核心管理工作——可去年,她主动离开了亚马逊。 就在最近,她的三位前同事接连被裁,其中两人还是 H-1B 签证员工,都背着房贷压力。其中一位同事忍不住给 Becky 发消息:“你去年离开的时候,是不是已经预料到会发生这些?” 对此,Becky 的回答很坦诚:她不知道具体什么时候会裁员,但她早就感觉情况不对劲了。 在她看来,这轮裁员被归因为

By Ne0inhk