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

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

相关推荐
匠在江湖1 小时前
裸机单片机任务调度器实现:基于规范分层(COM/APP/SRV/DRV)架构,(附 任务调度器 / 微秒延时函数 / 串口重定向 源码)
单片机·嵌入式硬件·架构
gaize12132 小时前
服务器怎么选择与配置才能满足企业需求?
运维·服务器·架构
加个鸡腿儿2 小时前
经验分享2:SSR 项目中响应式组件的闪动陷阱与修复实践
前端·css·架构
一条咸鱼_SaltyFish2 小时前
[Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
java·大数据·经验分享·分布式·微服务·架构·ai编程
早日退休!!!4 小时前
ARM A核、ARM M核、X86与RISC-V架构:寄存器作用及上下文处理差异报告
arm开发·架构·risc-v
数说星榆1814 小时前
在线高清泳道图制作工具 无水印 PC
大数据·人工智能·架构·机器人·流程图
万岳科技系统开发5 小时前
开源跑腿系统源码整体架构解析:从下单到配送的完整流程
架构
乾元5 小时前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化
自燃人~5 小时前
RocketMQ 架构与设计原理
架构·rocketmq
一线大码5 小时前
服务端架构的演进与设计
后端·架构·设计