磁盘的理解&&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 的就容易很多了

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

相关推荐
apple_ttt2 小时前
专栏导航:《数据中心网络与异构计算:从瓶颈突破到架构革命》
网络·架构·异构计算·数据中心网络
Cosolar3 小时前
什么是 ONNX Runtime?
后端·架构
Cosolar3 小时前
榨干每一滴算力:ONNX Runtime 多维优化实战指南
后端·架构
可触的未来,发芽的智生4 小时前
新奇特:神经网络的自洁之道,学会出淤泥而不染
人工智能·python·神经网络·算法·架构
Cosolar4 小时前
释放模型潜能:ONNX Runtime 如何进行优化与加速?
后端·架构
架构风清扬4 小时前
从一次深夜报警说起:我们是如何被“幽灵请求”打爆数据库的
架构
ai智能获客_狐狐4 小时前
智能外呼产品架构组成
人工智能·算法·自然语言处理·架构·语音识别
失散135 小时前
分布式专题——22 Kafka集群工作机制详解
java·分布式·云原生·架构·kafka
一休哥助手7 小时前
Serverless架构:无服务器计算的全面解析与实践指南
云原生·架构·serverless