目录
1.引入
在之前说过的一些文件相关知识里,说的都是一些被打开的文件,在OS中存在非常多的文件,被打开的文件肯定是少量的!那么,没有被打开的文件,在哪里存放着呢??
----> 磁盘 而没有被打开的文件,则是叫做磁盘文件
每一次我们要打开一个文件,我们都需要去
找到这个文件 --> 我们要在磁盘中去找到这个文件 --> 通过文件路径 + 文件名
然后在我们的磁盘当中打开这个文件
研究在磁盘里存放文件,本质就是探索文件如何存取的问题
2.看一看物理磁盘
计算机只认识二进制 -- 什么是0 1 -- 物理上会有不同的表现(如 高低电平 南北极 逻辑表示)
盘片 :可读可写可删除,一片两面都可以写,一面一磁头
磁盘本质是一个机械设备!!
磁头和盘面不能挨着,因为两者都在高速运动,两者一碰会导致盘面刮花,摩擦会起热,一旦起热就会退磁,退磁后就会导致数据丢失
其是悬浮在盘面上的
因为悬浮距离非常小,因此必须要保证磁盘无尘密封的
现在的笔记本大多数都不是机械磁盘,而是SSD
磁盘:
桌面级磁盘(民用)
企业级磁盘(企业)
3.了解磁盘的存储结构
磁盘是一个机械设备,外设 --- 速度慢 --- 但是我们为什么要用它呢,因为性价比高
对磁盘进行写入二进制数据,其是就是让磁头对特点的一小部分进行磁化,改变0 1
磁盘读写的基本单位扇区,一般为512字节 也有4KB等等
1片 = n磁道
1磁道 = m扇区
必须以512个字节为基本单位来进行读和写,这就叫做读写的基本单位为512字节
如果有很多片相同的盘片,组成的圆柱叫做柱面
1)如何找到一个指定位置的扇区
a. 找到指定的磁头 --- Header
b. 找到指定的磁道(柱面)--- Cylinder
c. 找到指定的扇区 --- Sector
即CHS定址法(Cylinder Head Sector(柱面 / 磁头 / 扇区)定址法)
这时候就可以解决两个问题了
1.磁盘中盘片为什么高速旋转?
为了定位扇区
2.磁盘中磁头为什么左右摆动?
为了定位磁道
文件 = 内容 + 属性 === 都是数据 === 都是二进制数据
因此文件的存储其是就是在磁盘中占有几个扇区的问题
4.对磁盘的存储进行逻辑抽象
即OS对磁盘这样的设备进行管理和抽象
为什么要这样呢?? 直接利用CHS寻址,不就可以直接进行管理吗??
---- 若OS直接用CHS,耦合度太高;以及为了方便实现内核进行磁盘管理
这是磁带(类似磁盘的圆形结构)
如果把里面的磁带拿出来,拉平,本质上就是把一个圆形结构变成了线性结构