王 紅
(濰坊學院,山東 濰坊 261061)
Linux文件系統結構分析*
王 紅
(濰坊學院,山東 濰坊 261061)
闡述了Linux系統的文件結構類型,指出了EXT2是在Linux系統中最為常用的文件系統。分析了EXT2文件系統的磁盤布局、索引結點及目錄結構,研究了EXT2系統實現按名存取的方法,文件讀取速度更高效。
EXT2文件系統;索引結點;混合索引;文件目錄
Linux系統的一個重要的特征就是支持多種不同的文件系統,如:EXT、FA T、EXT2、EXT3、SYSV等。目前,Linux主要使用的文件系統是EXT2和EXT3文件系統,也是Linux用戶最常用的文件系統。各種Linux的系統發布都將EXT2作為操作系統的基礎。EXT2文件系統支持標準UNIX文件類型:普通文件、目錄文件、特別文件和符號鏈接。
EXT2和其他邏輯塊文件一樣,由邏輯塊序列組成,根據用途劃分,這些邏輯塊通常有:引導塊、超級塊、inode區及數據區等。
EXT2將其所占的邏輯分區劃分為塊組,由一個引導塊和其他塊組組成,每個塊組又由超級塊、組描述符表、塊位圖、索引節點位圖、索引節點表、數據區構成,如圖1所示。

圖1 EXT2磁盤布局在邏輯空間的映像
每個塊中保存的這些信息是有關EXT2文件系統的備份信息。當某個塊組的超級塊或inode受損時,這些信息可以用來恢復文件系統。
EXT2文件系統中的數據是以數據塊的方式存儲在文件中的。這些數據塊的大小相同,其大小在EXT2創建時設定。磁盤上存儲文件的基本單位是簇。一個簇也稱為一個磁盤塊,它通常是2n個磁盤扇區大小。
EXT2文件系統用一個inode數據結構描述系統中的每一個文件,定義系統的拓撲結構。……