文件系统,磁盘的物理存储结构和逻辑存储结构

问题导入

在计算机中不是所有的文件都是被打开的,只有我们要用的文件的被打开,大部分文件(当前不需要访问的文件),都在磁盘中保存着。问题是没有被打开的文件是否需要管理?

这就好比我有十套衣服,但是我出去玩不可能吧十套衣服全穿在身上。我只会穿一套,剩下九套放在柜子里。但是我不能乱放,因为乱放我下次再想找衣服就可能找不到,或者效率很低下,找半天才能找到。我必须要把我的衣服叠好管理起来,方便我下次找到。

同样的,当前没被访问的存放在磁盘中的文件我也需要管理起来,目的是为了快速定位文件,提高查找文件的效率。就好比想在菜鸟驿站成千上万的快递中找到我们自己的快递,我们就需要拿着我们自己的取件码去对应的货架上找。菜鸟驿站的管理人员会把对应的快递按照取件码放在对应的货架上,也就是只有管理人员进行管理之后我们才可以通过取件码拿到快递。同样的,我们的文件也在对应的位置,我们可以按照路径快速定位到我们的文件。而把文件摆放在相应位置,生成文件的路径等等这些操作都是文件系统去做的。

文件系统解决的是文件的存储问题。而文件又是属性+内容构成的。所以文件系统解决的实际上是文件的属性和内容的存储的问题。

而文件存储的问题的本质是为了方便OS/用户对文件进行增删查改操作。因为要想对文件进行增删查改必然要先找到文件,而为了更快的找到文件我们就需要把文件管理起来。为了更好的管理,文件系统应运而生。为什么说是为了方便OS对文件进行增删查改呢?因为用户只是输了一个命令,OS就要去找这个文件,找到之后用户才能进行操作。

文件物理存在磁盘上,我们这里要对其进行一个逻辑存储结构的抽象。为什么要进行逻辑存储结构的抽象呢?这是为了给OS管理文件提供一个统一的视角,方便让OS管理磁盘。 

磁盘的物理存储结构

磁盘的基本存储结构是扇区,一个扇区是512字节、4kb等大小。如果想要修改磁盘上的一个bit位也要把磁盘的一个扇区的大小(比如512字节)加载进内存,修改完之后也要按512字节大小再刷新回扇区里。  

CHS寻址

要想使用某个扇区,我们就需要先找到这个扇区。这个过程就是先确定用哪个Head(磁头),然后去寻找对应的Cylinder(磁道),最后找磁头上需要修改的Sector(扇区)

这个我们称之为CHS寻址定位法

磁盘的逻辑存储结构

 我们可以把磁盘想象为一个线性空间。每一个段都可以看为是一个磁道,每一个分段都可以为是一个盘面,每一个子段都可以看为是一个磁道,每一个小格子都可以看为是一个扇区。

因为是线性的,所以我们可以用数组来存储。因此对磁盘的管理就可以变为对数组的管理。

我们可以通过下标来对每个盘面进行划分。比如说1~10000是划分为第一个盘面,10001~20000划分为第二个盘面。

比如说我想知道下标为1234属于哪个扇区,计算方法如下:

1234/10000=0  说明在第一个盘面

1234/1000=0   说明在第一个磁道

1234%10000=1234  说明在第1234个扇区

因此下标1234在第一个盘面的第一个磁盘的第一个扇区。

LBA寻址

操作系统可以按照扇区为单位进行读取,也可以按照块为单位进行读取。一次可以读取八个扇区作为一个块,刚好是4kb大小。

LBA寻址因为是线性的,所以效率要更快一些,而且比CHS寻址找磁头,磁道,扇区的方式更简洁一些。

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙鹏宇.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值