Linux ext2文件系統


Linux最傳統的磁盤文件系統(filesystem)使用的是ext2

1.ext2文件系統結構
ext2文件系統划分為多個塊組,每個塊組擁有獨立的inode/block,一個文件系統只有一個Superblock。
如下圖所示:

1)Boot Sector:啟動扇區。
啟動扇區可以安裝引導裝載程序,這樣可以將不同的引導裝載程序安裝到不同的文件系統
不用覆蓋整塊硬盤唯一的MBR,才能制作出多重引導的環境。

2)Data Block:存放文件內容。
ext2系統中block的大小有1KB,2KB,4KB三種,block大小由文件系統總容量決定,如下圖所示:

每個block只能放一個文件的數據,若文件大小超過block,則占用多個;
若小於block,block剩余的空間也不能被其他文件使用。

3)Inode Table:存放文件屬性和權限等。
inode存放的文件數據至少有:
文件的訪問權限(rwx)
文件的所有者與組(ower/group)
文件的大小
文件創建和狀態改變時間
最近一次讀的時間
最近修改的時間
文件類型標識
文件指向的block號

inode的大小固定為128B
我們重點看一下最后一項,“文件指向的block號”
inode是通過12個直接指針,1個間接指針,1個雙間接指針,1個三間接指針來指向block的。
如下所示:

12個直接指針:直接取得block號碼
如果文件太大,就會使用間接指針,雙間接指針,三間接指針來記錄編號

4)Superblock:存放文件系統的基本信息。
一個文件系統只有一個Superblock,存放的信息有:
inode,block的總量
未使用和已使用的inode,block數量
inode,block的大小
文件系統掛載時間,最近寫入數據時間,最近檢查磁盤時間
validbit值,文件系統已掛載,則validbit為0,否則為1

5)File system Description(文件系統描述):每個塊組的開始結束號碼

6)block bitmap(block對照表):標識block是否使用
便於系統快速找到空間來處置文件

7)inode bitmap(inode對照表):標識inode是否使用
與block bitmap相似。

2.文件系統樹型結構之間的關系
1)目錄
新建一個目錄時,ext2會分配一個inode和至少一塊block給該目錄。
inode記錄目錄權限和屬性,以及分配的block號。
block記錄目錄下的文件名和文件名占用的inode號。

2)文件
新建一個文件時,ext2會分配一個inode和對應文件大小的N個block塊給該文件。
inode和文件名會同時被記錄在目錄的block中,以便通過目錄訪問到該文件。
block存放文件內容。

3)文件查找
查找文件時,會先找到文件所在目錄,目錄的inode對應的block中,
存放着文件的名稱和inode,找到文件名對應的inode,
然后找到文件inode對應的block,找到文件內容。

3.ext3文件系統
ext3是ext2的升級,加入了日志文件系統。

4.掛載文件系統
文件系統要掛載到目錄樹,才能使用
文件系統與目錄樹結合的操作,稱為掛載。
掛載點是目錄,該目錄為進入該文件系統的入口。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM