文件系统结构
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
要想理解文件系统,要先从文件存储说起,由于内存是一时性(临时)存储,在计算机关机后,存储在内存中的数据都会丢失。因此,需要实现文件或数据的持久化存储时,通常需要把文件或数据都存储到磁盘当中。磁盘结构,如图:
问:磁盘内部是真空的吗?
答:磁盘内部不是真空的,只不过里面的空气非常纯净。如果是真空的,不利于散热。
磁盘相关的专业术语如下:
(1)磁盘的内部是金属盘片,将圆形的盘片划分成若干个扇形区域,这就是“扇区”(Sector)。若干个扇区就组成了整个盘片。
(2)为什么要分扇区?是逻辑化数据的需要,能更好地管理磁盘空间。以盘片中心为圆心,把盘片分成若干个同心圆,每一个划分圆的“线条”称为磁道。
(3)磁盘内的盘片有两个面,而且盘片往往不止一张,常见的有两张。两张盘片中相同位置的磁道组成一个“柱面”(Cylinder),盘片中有多少个磁道,就有多少个柱面。盘片的两个面都能存储数据,要读取磁盘的数据,必须有“磁头”(Head),每一个面都有一个磁头,所以,一张盘片有两个磁头。
(4)磁盘的存储容量=磁头数×磁道(柱面)数×每道扇区数×每个扇区字节数。(5)磁道从外向内自0开始顺序进行编号,各个磁道上的扇区数是在磁盘格式化时确定的。文件储存在磁盘上,磁盘的最小存储单位就是扇区。每个扇区可以存储512字节(相当于0.5KB)。
在早期比较古老的CHS(Cylinder/Head/Sector)结构体系中,磁盘的容量还非常小,人们采用与软盘类似的结构生产磁盘。也就是磁盘盘片的每一条磁道都具有相同的扇区数,由此产生了所谓的3D参数,即磁头数(Heads)、柱面数(Cylinders)、扇区数(Sectors)及相应的3D寻址方式,如图
问题:如上的磁盘结构有没有问题?
回答:这种结构有问题。老式的磁盘中,每个磁道的扇区数都一样,外圈磁道整个弧长要大于内圈磁道整个弧长。因此,外圆磁道磁记录密度比内部磁道的磁记录密度小,最终,导致了外部磁道的空间浪费。
如果您是磁盘设计工程师,打算怎么解决?会选择下面哪种方法?
方法1:每个磁道的宽度不一样,从而让每个扇区面积尽量一样,如图方法1所示。
方法2:不再一刀切,让每个磁道中的扇区数量可以不一样,如图方法2所示。
现在的磁盘都采用ZBR(Zoned Bit Recording)区位记录技术。ZBR区位记录是一种物理优化磁盘存储空间的方法,此方法通过将更多的扇区放到磁盘的外部磁道而获取更多存储空间,如图:
问:ZBR磁盘从外圈读写数据快?还是从内圈读写快?如图
答:使用ZBR区位记录法做的磁盘有以下特点:读取外圈的数据快,读取内圈的数据慢,所以测试磁盘时经常看到读取速度越来越慢的曲线图就很正常了。磁盘读取内外圈数据对比如图所示,磁盘测试工具如图
Windows安装系统的C盘或Linux的boot分区和Swap分区一般安装在磁盘最外面。磁盘写数据时,顺序是从外圈到里圈。
磁盘的盘面如图
在Windows中叫簇,在Linux系统中叫block。
文件数据存储占用空间的大小和实际占用空间的大小
在Windows系统中,新建一个文本文件“新建文本文档.txt”,只输入aa两个字符,如图
鼠标右键单击该文件,然后单击属性,即可查看文件大小,如图所示,说明文件系统(此例中是NTFS文件系统)中默认的簇大小为4KB,实际上真实存储大小为2B,但是最小占用空间为4KB。