EXT2檔案系統簡介
阿新 • • 發佈:2019-01-30
一、EXT2檔案系統檔案組織形式
EXT2檔案系統是Linux系統中廣泛使用的檔案系統,該檔案系統是一種索引式檔案系統,它將分割槽分為inode和block,它會給每個檔案分配一個inode,inode中儲存檔案的一些屬性資訊,block中儲存檔案真正的內容,一個block的大小有1k、4k等大小,一個block中只能儲存一個檔案,比如現在有一個檔案佔據了一個block的1B大小,那麼這個block剩餘的大小也無法分配給其他檔案使用。大體儲存結構如下圖所示:
因為一個分割槽可能很大,可能會分成很多很多個block,為了便於管理,系統將這些block分成多個block組,每個block組中儲存當前組的資訊和當前block組的block,如下圖:
每個分割槽都有如下幾個專案:
引導扇區:每個分割槽前的引導扇區super block:超級塊,它記錄的是整個檔案系統的資訊,檔案系統的型別,inode數量,block數量等,每個分割槽的super block是相同的
檔案系統描述:描述每個block group 的開始與結束的block號碼。
塊對應表(block bitmap):用bit位記錄了每一個block目前的狀態,如果有資料就置為1,沒有資料置為0。如果需要分配block,那麼就找目前狀態為0的。
inode 對應表(inode bitmap):和塊對應表相似,記錄的是inode的分配和未分配的號碼。
data block:詳細記錄檔案資料的地方,每一個block都有block號碼。
二、inode table內容
inode table中記錄了一個inode中的詳細內容,因為inode中記錄了除檔名以外的所有檔案屬性。但是一個inode節點所佔的磁碟空間ue不能太大,那麼它到底是怎樣儲存的呢?請看下圖:圖中DB代表資料、IPB代表中間節點(數字代表級數) 這張圖描述了一個inode節點中儲存的資訊。在最上邊的其他資訊裡儲存了檔案除了檔名和檔案具體存放的block號以外的其他資訊。其餘的資訊由15個指標指向inode或者相應的二級節點。
其中0-11這十二個指標是直接指向存放資料的block塊中,12是一個一級索引,直接指向的是一個block,其中存放的是指向檔案block塊的指標。13是一個二級索引,13指向一個一級索引,其中的一級索引又指向某幹個直接索引。14是一個三級索引,與二級索引類似。
採用三級索引機制就可以利用有限的inode節點索引到更大的檔案,比如一個block的大小是4k,一個指標的大小是4B,那麼採用三級索引機制的一個inode節點最大可以索引到的檔案大小是:1024 × 1024 × 1024 × 4096位元組(約4TB)