磁盘的理解&&CHS和LBA地址转换

1.对于磁盘的理解

首先就是我们的操作系统课本上面学习的这个磁盘的基本结构,比如下面的这个磁盘,磁头,磁头臂以及柱面,扇区的相关的概念;

针对于这个部分的内容,我自己也没有什么经验可以分享,因为这个东西就是固定的,唯一需要注意的就是结合图区进行理解,注意分别代表的是我们的图片里面画出来的这个磁盘的那一个具体的部分;

根据上面的内容,我们想要确定扇区只需要 CHS 三个部分即可,C 代表的就是我们的柱面,H 表示的是磁头,S 表示的是扇区,下面的这个是 ima 给出来的具体介绍,不懂就多去问问 AI 工具即可;

2.对于磁盘的另一种理解

这个理解就是从数组的角度进行理解,为什么是数组,因此我们可以把一个磁头对应的具体磁道想象成为是一个无限长的绳子,就是我们小时候把这个英语听力的录音机里面的黑色的线扯出来;

这个时候具体磁道里面的每一个扇区相当于就是数组的下标;

一个柱面多个磁道,因此这个柱面就是二维的数组;

一个磁盘块就是多个柱面组成的,因此这个整盘就是一个三维的数组;

下面的这个是老师上课的文章里面的图,我姐出来给大家看一下,方便大家区进行理解;

3.CHS 地址和 LBA 地址之间的转换

CHS 地址我们上面已经介绍了,就是通过扇区,磁头,柱面,确定的这个地址,这个 CHS 也就是三个英文单词的首字母罢了,这个很容易理解,也就是我们在这个方式下面,确定了柱面,扇区和磁头的编号,就可以确定这个 CHS 地址啦;

那么,什么是 LBA 地址呢,这个 LBA 地址,实际上我们可以直接理解为是逻辑块的地址,英文名字叫做 logical block address,也就是逻辑块的地址,翻译过来就是这个样子的;

操作系统实际上使用的就是 LBA 地址,但是这个 CHS 地址和 LBA 地址之间的相互转换,也是操作系统自己完成的,具体的转换方法如下所示,比较抽象,需要自己去理解:

为了帮助理解,我简单说明一下:

1)建议先去理解 CHS 如何转换成为 LBA 的,然后再去反过来,按照这个顺序更容易一些

2)红色标注出来的那个公式我认为就是核心公式,理解他就问题不大了;

3)柱面编号*每一个柱面扇区数量===柱面上面的扇区的总数,第二个加数说明就不是一个完整的柱面,我们需要知道这个对应的磁头编号,以及这个完整的磁道对应的扇区总数;

第三个加数就是不完整的磁道,加上这个对应的扇区的数量即可

4)然后再去反过来理解这个 LBA 转换成为 CHS 的就容易很多了

我要说的就是这些,这个过程需要每一个初学者慢慢去领悟,一定要结合上面的磁道,柱面,扇区的图,去进行辅助理解,可能效果更好一些,我能帮助大家的只有这些了

相关推荐
StarRocks_labs5 分钟前
从 Presto 到 StarRocks:作业帮架构升级实践
starrocks·sql·架构·iceberg·作业帮
Allen正心正念202525 分钟前
Research Agent架构
人工智能·架构
PD我是你的真爱粉42 分钟前
MySQL 索引进阶:从失效排查到架构哲学
mysql·adb·架构
skiy1 小时前
华为HuaweiCloudStack(一)介绍与架构
服务器·华为·架构
AI服务老曹1 小时前
异构计算新范式:基于 X86/ARM 的 AI 视频管理平台架构深度解析
arm开发·人工智能·架构
薛定猫AI2 小时前
【深度解析】Anthropic Cloud Code 源码泄露:多智能体架构、长期记忆与百万上下文的大模型工程实践
架构
枫叶林FYL2 小时前
Agent/Teakenote 系统(Swarm 架构)深度技术报告
架构·策略模式
塔望品牌咨询3 小时前
品牌战略的“系统工程”:从“一句口号”到“五维系统”的架构方法
架构·消费品·消费战略·塔望消费战略·食品·快消品
Ulyanov3 小时前
构建企业级雷达电子战仿真引擎的工程化基础 第一篇:CI/CD流水线与自动化测试体系
python·ci/cd·架构·系统仿真·雷达电子战仿真
黄林晴10 小时前
Android17引入DeliQueue新架构: 为什么要重写MessageQueue?
架构