news 2026/9/2 7:56:59

文件系统(理解机械磁盘)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
文件系统(理解机械磁盘)

理解硬件:磁盘

1.机械磁盘

机械磁盘是计算机中唯一的一个机械设备,本节提到的磁盘均为机械磁盘

2.磁盘物理结构

3.磁盘的存储结构

一个磁盘有数个盘,每个盘有两个盘面,每个盘面上都有磁头可以进行读写,每一个盘面上都有数个磁道,磁道的间隙将磁道切分为一个个扇区,扇区即为磁盘最小读写单位(每个扇区存储的内容大小一致)

4.磁盘的逻辑结构

传动臂上的磁头是共进退的,柱面是⼀个逻辑上的概念,其实就是每一面上,相同半径的磁道逻辑上构成柱⾯。所以,磁盘物理上分了很多面,但是在我们看来,逻辑上,磁盘整体是由“柱面”卷起来的

磁道:

某⼀盘面的某⼀个磁道展开(过程可类比将磁带抽出,就会成一个线性的结构):即一维数组

柱面:

整个磁盘所有盘⾯的同⼀个磁道,即柱⾯展开:即二维数组

整盘:

三维数组

5.磁盘寻址

a.CHS寻址

寻址⼀个扇区:先找到哪⼀个柱⾯(Cylinder) (0,1,2......)(最外圈为0,向中心依次增加),在确定柱⾯内磁头位置(Head)(0,1,2....),在确定扇区(Sector)(1,2,3......),所以就有了 CHS 。

b.LBA寻址

每⼀个扇区都有⼀个下标,我们叫做 LBA(Logical Block Address) 地址,其实就是线性地址
我们之前学过C/C++的数组,在我们看来,其实全部都是⼀维数组:

OS只需要使⽤LBA就可以了!!

LBA地址转成CHS地址,CHS如何转换成为LBA地址由磁盘⾃⼰来做!固件(硬件电路,伺服系统)

c.CHS - LBA地址转换

CHS转成LBA:

• 磁头数*每磁道扇区数 = 单个柱⾯的扇区总数

• LBA = 柱⾯号C*单个柱⾯的扇区总数 + 磁头号H*每磁道扇区数 + 扇区号S - 1

• 即:LBA = 柱⾯号C*(磁头数*每磁道扇区数) + 磁头号H*每磁道扇区数 + 扇区号S - 1

• 扇区号通常是从1开始的,⽽在LBA中,地址是从0开始的

• 柱⾯和磁道都是从0开始编号的

• 总柱⾯,磁道个数,扇区总数等信息,在磁盘内部会⾃动维护,上层开机的时候,会获取到这些参数。

LBA转成CHS:

• 柱⾯号C = LBA // (磁头数*每磁道扇区数)【就是单个柱⾯的扇区总数】

• 磁头号H = (LBA % (磁头数*每磁道扇区数)) // 每磁道扇区数

• 扇区号S = (LBA % 每磁道扇区数) + 1

• "//": 表⽰除取整

从此往后,在磁盘使⽤者看来,根本就不关⼼CHS地址,而是直接使用LBA地址,磁盘内部⾃⼰转换。

所以从现在开始,磁盘就是⼀个元素为扇区的⼀维数组,数组的下标就是每⼀个扇区的LBA地址OS使⽤磁盘,就可以⽤⼀个数字访问磁盘扇区了

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

打造学生信息管理系统:从构思到实现

简单学生信息管理系统(附源码),原生无边框winformsqlite,主要运用窗体继承动态导航菜单反射创建窗体对象家事件刷新数据,自定义4种类型弹窗类型对话框,数据分层,增删查改都实现了,其…

作者头像 李华
网站建设 2026/9/2 22:24:32

聊聊A*算法与Dijkstra算法的Matlab及C实现

A*算法matlab程序,附送c程序 Djikstra算法matlab程序 代码特点: 1. matlab读入excel制作的地图,障碍物为1; 2.设置起始点和终止点,A*算法会输出一条近最优路径,因为这是启发式算法; 3.Dijkstra算…

作者头像 李华
网站建设 2026/9/2 21:38:02

探索 Asp.Net CRM 客户关系管理系统:企业发展的得力助手

Asp.Net CRM客户关系管理系统 CRM是为帮助企业快速成长发展而开发的一款优秀的CRM客户关系管理系统,能帮助您管理客户与销售,能协同进行工作,并能方便的进行二次开发与扩 展,是您企业信息化进程最佳的选择;是一套针对各行业众多企…

作者头像 李华
网站建设 2026/9/2 23:06:46

STM32H743 SOEM EtherCAT基于STM32H743芯片和SOEM的Ether...

STM32H743 SOEM EtherCAT基于STM32H743芯片和SOEM的EtherCAT主站源码 提供配套CUBE工程。 SOEM协议栈使用1.3.1版本。 可配套NUCLEO-H743ZI开发板使用。 支持DC同步。 可配合汇川IS620N、三洋RS3、赛孚德ASD620B、埃斯顿ProNet、迈信EP3E、台达A2-E、伟创SD700、松下A5B/A6B和欧…

作者头像 李华
网站建设 2026/9/2 22:23:48

海南椰子鸡和宁夏滩羊的拼多多“漂流”:透视地域特产的数字进化论

在中国人的餐桌上,特产既代表着地域风味,也是带有“时空局限性”的符号。宁夏盐池的滩羊,长期停留在“清水一把盐”的西北记忆里;海南的椰子鸡,一度被圈定在深圳餐饮街或琼海旅游景点的“围墙”内。 地域特产“出圈难”…

作者头像 李华