Linux基础知识 ·

Linux文件系统

文件系统:

文件系统是一个逻辑上的概念,本身与磁盘没有什么关系,它是一个外围性永久存储设备,我们知道,计算机共有五大部件,存储设备是一种,内存是个临时性质的存储设备,无论是关机还是断电,存在里面的数据都会消失,我们需要一个永久性存储的设备,来弥补内存只是临时存储性。

对于Linux来说,其哲学思想之一就是一切皆文件,我们Linux上的访问设备全是通过文件接口来实现的,这就如同说我们访问设备如同访问一个文件一样。因为它们都是使用的是文件系统接口。

在操作系统中,管理磁盘的文件系统有很多种,Windows的NTFS和FAT,Linux的EXT、xfs系列等都是管理磁盘的文件系统,不过它们的分区方式不一样,Windows分区方式就是直接就是分为C盘和D盘,两个都是相互独立的,让我们很直观看到,而Linux不是,Linux是除了”/”以外,你就看不到其它任何的独立分区,但这并不代表它不能支持多个文件系统,只不过我们就是带着”/”一起访问罢了。

当我们格式化完成以后,我们的用户以为格式化就是能删除所有的数据,这个本质倒是也没错,不过有点不同的就是,格式化是写文件系统的,它会把磁盘按照逻辑上划分为元数据区域和数据区域,元数据区域记录的是Inode节点和超级快等位图信息,数据区域才是真正存储的数据,我们的格式化分为低级格式化和高级格式化,低级格式化是厂商在硬盘上划分出一个个磁道,而高级格式化是我们用户要使用磁盘在逻辑上建立的一种文件系统。

在文件系统上我们大部分看到这么两类,一种是目录,一种是文件,其实目录是一个特殊的文件,它是一种路径的映射,在逻辑上建立文件系统之后,我们就可以使用磁盘了,它们的创建过程相对来说从概念上理解也不是那么容易,首先,它们要将磁盘在逻辑上划分一个一个的块儿,这些块的大小是根据你规划的分区容量自动来给你进行设定的常见的从1K到4K,然后我们在元数据区域建立一个位图,这个位图是标识那个块是被使用,使用的话,标记为1,没有使用的话,标记为0,不过,在前面的512个字节你是没办法使用的,不但没办法使用,要是破坏了你的系统开机就启动不了,这个分区就叫MBR它是记录了你操作系统的bootloeader,用于加载内核,然后64个字节中,每16个字节记录一个分区,总共可以表示四个主分区,最后2个字节是你的验证,如果划分好分区的话,会显示55AA。

我们继续上次位图的话题,使用的话,标记为1,不使用的话,标记为0,但是我有一千个位图,要存储数据的话,位图查找半天,才查找第五百个是0,这也是一件很麻烦的事情,所有就开始事先把这些个块划分成为一个一个的块组,各自管理自己的,数据存储的时候,可以在这个块儿上存储一个,可以在另一个块上存储一个,提高了硬盘的写入速度。

还有一个就是超级块,它的作用就是存储文件系统的大小,有多少是空的和已经填满的占用多少,以及它们各自的总数和其它诸如此类的信息。要使用一个数据来进行数据访问,那么第一个要访问的就是超级块。所以,如果超级块坏了,那磁盘就真的没有救了

超级块占用第1号物理块,是文件系统的控制块,超级块包括:文件系统大小、空闲块的数目、空闲块的索引表、以及空闲i节点的数目,空闲i节点的索引表、封锁标记等。超级块是系统为文件分配存储空间。

参与评论