iT邦幫忙

DAY 17
4

檔案系統的設計與效能系列 第 17

檔案系統的設計與效能 - Ext2

Ext2是Linux上的基本檔案系統,完全仿造傳統的UNIX檔案系統而來,同時也運用在SD-card等flash記憶體之上,因為ext2不具備Journaling的功能,所以寫入的動作較少(有了Journaling就要多增加寫log的動作了),速度也較快。
Ext2是Linux上的基本檔案系統,完全仿造傳統的UNIX檔案系統而來,同時也運用在SD-card等flash記憶體之上,因為ext2不具備Journaling的功能,所以寫入的動作較少(有了Journaling就要多增加寫log的動作了),速度也較快。

Ext2 檔案系統很像上回提到的FFS檔案系統,不同的地方在於,ext2不採用FFS中cylinder group的觀念,取而代之的是一種通稱為remapping的技術。Ext2將磁碟空間分成一個個block,再將block組成block group來存取,如此是為了減少磁碟的external fragmentation,並且可以在存取大量連續資料時降低磁碟搜尋的時間。為了保持檔案系統的一致性,每個block group都有一個完整的superblock、bitmap、i-node map以及i-node table。

Ext2 為了增進效能,除非buffer的資料需要寫回disk時,幾乎所有的動作都在記憶體中執行。但是因為ext2沒有Journaling的設計,所以並不保證buffer寫回disk時的順序,所以ext2藉由一致性檢查的動作來確保資料的一致。儘管如此,系統不正常的關機、重啟仍可能因為舊的動作為寫回 disk而造成資料毀損。後來Ext3加入的Journaling的功能,用以改善這個問題,當然效能就受到了一些影響。效能與安全本來就是trade- off,需要依據實際的使用狀況來取捨。

Ext2的檔名長度限制是255 Bytes,最大支援2-16TB的volume。

系列文章


上一篇
檔案系統的設計與效能 - FFS/UFS
下一篇
檔案系統的設計與效能 - HFS
系列文
檔案系統的設計與效能32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言