linux檔案系統 ext2檔案系統

2021-09-22 10:22:16 字數 2136 閱讀 2498

如何快速高效的尋到在硬碟儲存的資料,於是檔案系統就誕生了。檔案系統是邏輯層面的,那麼檔案系統是如何管理**件層提供的磁碟空間的?

現在,大部分檔案系統採用索引分配方案

優點:1.能夠保持好大部分檔案的區域性性

2.滿足檔案插入,刪除的高效

3.隨機讀寫不需要沿著指標前行

缺點1.會有較多的磁碟尋道次數

2.索引表本身管理複雜,會帶來額外的系統開銷

ext類有ext2、ext3、ext4檔案系統,是ext類版本的公升級

這裡介紹ext2檔案系統,當然它是屬於索引分配的

塊. 即block, 資料儲存的最小單元, 每個塊都有乙個唯一的位址, 從0開始編號, 起源於第乙個可以用來儲存資料的扇區

超級塊. 超級塊儲存了各種檔案系統的meta資訊, 比如塊大小資訊。他位於檔案系統的2號和3號扇區(實體地址), 占用兩個扇區大小

塊組. 所有的塊會劃分成多個塊組, 每個塊組包含同樣多個塊, 但是可能整個檔案系統整個塊數不是塊組的整數倍, 所以最後乙個塊組包含的個數可能會小於其他塊

1.datablock 資料塊

即block, 資料儲存的最小單元, 每個塊都有乙個唯一的位址, 從0開始編號, 起源於第乙個可以用來儲存資料的扇區;

2.inode table inode節點表

檔案項

注:inode中沒有檔名,只能通過inod找到;stat命令可以檢視

目錄項

偏移(16進製制)

位元組數含義&解釋

00-03

4位元組inode節點號

04-05

2位元組本目錄項的長度位元組數

061位元組

名字長度位元組數

071位元組

檔案型別

08~不定長度

名字的ascii碼

3.inode bitmap inode節點位圖

4.block bitmap 資料塊點陣圖

5.gdt group description table 塊組描述表

偏移(16進製制)

位元組數含義&解釋

00~03

4塊點陣圖起始位址(塊號)

04~07

4inode節點位圖起始位址(塊號)

08~0b

4inode節點表起始位址(塊號)

0c~0d

2塊組中空閒塊數

0e~0f

2塊組中空閒inode節點數

10~11

2塊組中的目錄數

12~1f

-未使用

6.super block超級塊

2-3號扇區(在檔案系統第1024-2048位元組處),包含各種meta資訊

塊大小, 每個塊組包含塊數, 總塊數, 第乙個塊前保留塊數, inode節點數, 每個塊組的inode節點數

卷名, 最後掛載時間, 掛載路徑, 檔案系統是否乾淨, 是否要呼叫一致性檢查標識

空間inode節點和空閒塊的記錄資訊, 在分配inode節點和新塊的時候使用

7.0-1扇區 引導扇區

如如果沒有引導**,則這兩個扇區為空,全部用0填充

如圖書館存書為例,如果一本本的跑遍整個圖書館,你肯定不會這麼做。於是就有圖書索引,這本書放在幾樓,第幾個書架。

然而,這麼多書靠索引還是要找很久,於是就有分門目。而在檔案系統中就是塊組。大致區域就是乙個分割槽,多個塊組,用索引查詢,索引存放在inode table中,書本放在資料塊中。

而inode bitmap和block bitmap是為了插入和刪除的時候,更加快的找到那個資料塊和inode存放塊是否分配,便於檔案系統管理

ext2檔案系統

ext2磁碟結構 ext2分割槽和ext2分組的分布圖 下圖是借用其他部落格的 塊組中的每個塊包含的資訊 超級快 1個塊 描述該分割槽中的整個檔案系統的資訊,包括有多少個快組,每個快組有多少個塊,多少個索引節點等。組描述符塊 n塊 塊點陣圖 1塊 索引節點位圖 1塊 索引節點 n塊 資料塊 n塊 塊...

Ext2檔案系統

ext2檔案系統的總體布局,如下圖。1檔案系統的最小儲存單元是塊 block 塊的大小一般為512bytes,或者是它的整數倍,塊的大小是在格式化是所確定的。不能修改除非重新格式化。上圖中顯示了檔案系統的總體布局,由乙個boot block和對個block group組成,每個block group...

linux的EXT 2檔案系統

為了更好的描述linux系統 這裡以ext2檔案系統為例 我畫了乙個圖,如下 上圖是整個檔案儲存磁碟的分布情況,將分割槽分成很多大小相同的塊,乙個塊的大小格式化時確定的,ext2檔案系統乙個塊是4k,乙個磁碟扇區是512位元組,所以乙個塊大小佔8個扇區。而在上圖啟動塊的大小是確定的,佔1k位元組,是...