Linux 磁盘与文件系统

一、硬盘物理组成

整个磁盘是由许多的硬盘片堆叠组成,而整个磁盘包括柱面(Cylinder)、磁道(Track),以及最小的单位扇区(Sector)。通常,一个扇区的大小约为512字节。而硬盘的读取则是依赖于固定在机械手臂上磁头(Head)来实现。

可以通过以下这个公式来计算整个磁盘的存储容量:“Cylinder X Head X Sector X 512B”。通过机械转动来读取数据,所以速度相对比较慢。

二、分区

分区实际是为了告诉操作系统这块硬盘可以访问的区域的范围(即起始柱面到结束柱面,柱面是分区最小的单位)。但是这些重要的磁盘分区信息存放在那里呢?答案是主引导区(Master Boot Recorder, MBR)。MBR就是在一块硬盘的第0磁道上,计算机要使用硬盘必须先要读取的区域。

对于这个MBR有最大限制,仅提供最多4个分区的大小,其中包括主分区(Primary, P)和扩展分区(Extended, E), 如果超过4个分区,就要依赖于扩展分区来实现,当然扩展分区E最多1个。

三、文件系统

有了分区信息,也就告诉操作系统从何读取数据,但是怎么样来读,以何种方式来存储呢?这些工作就要通过文件系统来完成,所以要将分区后的磁盘格式化为“操作系统所能识别的文件系统”,因为各种操作系统都有各自的文件系统,比如,Windows从起初的FAT、FAT32到后来的NTFS,同样对于Linux也有很多EXT2、EXT3、EXT4等等,所以要针对操作系统来格式化。

文件系统对磁盘进行读取、写入操作的最小单位是扇区,由于扇区的容量太少,在操作较大的文件时候,一个扇区一个扇区的进行势必需要大量的时间,浪费了系统时间,降低了效率。为了解决这个问题,就有了逻辑块(Block)的概念。逻辑块是分区进行文件系统格式化时所制定的“最小存储单位”,这个块的大小必须满足:扇区的2的n次方倍。至于这个逻辑块多大就好,这要看你主机的用途,才能做出合理高效的规划。

在给硬盘分完区后,每个分区都是一个完整的文件系统,而每个文件系统开始的位置的那个块就称之为超级块(SuperBlock)。主要用于记录这个分区中块的使用情况,超级块起到了索引的作用,所以至关重要。

你可能感兴趣的:(linux)