Ext四
外觀
第四代擴充套件檔案系統(英語:Fourth extended filesystem,縮寫為ext 四)是 Linux 系統之下的日誌檔案系統,是 ext 三檔案系統了後繼版本。
歷史
ext 四原始的開發目標是一系列的向下相容 ext 三、移除其六十四位元限制佮提升其效能的延伸套件。毋過,某寡 Linux 開發者因為穩定性原因拒絕將遮的延伸套件應用佇咧 ext 三上,並且要求其做 ext 三的分支,改名做 ext 四並另外開發,以免影響著目前的 ext 三使用者。該要求予人接受以後,ext 三維護者曹子德(Theodore Ts'o)佇二空空六年六月二十八號公開矣 ext 四的開發計畫。
佇咧 Linux 核心二交六 . 十九版內底,頭一回回 ext 四个先期開發版本。佇二空空八年十月十一號,ext 四被當做穩定版本,加入 Linux 二孵六 . 二十九版的原始咧碼中,ext 四个開發階段進入尾聲。二空空八年十二月二五,Linux 二孵六 . 二十九版公開釋出了後,ext 四成為 Linux 官方的建議預設檔案系統。
二空一空年一月十五,Google 宣布將𪜶公司使用的檔案系統,由 ext 二,升級做 ext 四。佇仝年十二月十四號,Google 嘛宣布𪜶將佇 Android 二孵三版內底,使用 ext 四來取代進前的 YAFFS。
特色
大型檔案系統
- ext 四檔案系統會當支援上懸 Exbibyte 彼个分割區和上大十六 Tebibyte 的檔案。
Extents
- ext 四引進了後 Extent 檔案儲存方式,以取代 ext 三分之二使用的 block mapping 方式。Extent 指甲是相連紲實體 block,這種方式會當增加大型檔案的效率閣減少分裂檔案。ext 四支援的單一 Extent,單一 block 為四 KB 的系統內底上懸會當到百二八 MB。單一 inode 內底會當儉四筆 Extent;超過四筆的 Extent 會以 Htree 方式予人索引。
向下跤相容
- ext 四向下跤相容佇咧 ext 三與 ext 二,所以會當共 ext 三和 ext 二的檔案系統掛載做 ext 四分割區。因為某一寡 ext 四的新功能會使直接用佇 ext 三和 ext 二上,直接掛載即可提升少許效能。
- ext 三檔案系統會當部份向頂懸相可比 ext 四(也就是講 ext 四檔案系統會當予人掛載做 ext 三分割區)。 毋過若是用著 Extent 技術的 ext 四將無法度予人掛載做 ext 三。
預留空間
- ext 四允准對一檔案預先保留磁碟空間。目前大多數檔案系統做到這點的方式是直接產生一个添滿零的檔案;ext 四和 XFS 會用得使用 Linux 核心中的一个新的系統呼叫「fallocate ( )」取得有夠的預留空間。
延遲取得空間
- ext 四使用一種叫做 allocate-on-flush 的方式,會當佇資料將被寫入去磁碟(sync)前才開始號予空間;大多數檔案系統會佇進前便取得需要的空間。這種方式會當增加效能閣減少檔案分散程度。
突破三更二千子 kha-tá-lok-guh 限制
- ext 三的一个 kha-tá-lok-guh 下上濟干焦會當有三更二千个子 kha-tá-lok-guh。ext 四的子 kha-tá-lok-guh 上懸會當到六更四千,而且使用「dir \ _ nlink」功能會當達成閣較懸(雖然爸 kha-tá-lok-guh 的 link count 會停止增加)。 為著避免效能受著大量 kha-tá-lok-guh 的影響,ext 四預設開啟 Htree(有一个特殊的 B 樹)索引功能。這个功能已經實際上矣 Linux 核心二交六 . 二十三版。
紀錄檔校驗佮
- Ext 四使用校驗佮特性來提高檔案系統可靠性,因為紀錄檔是磁碟上被讀取上頻繁的部份之一。這個特性閣有一個好處就是會使安全地避免紀錄檔處理時磁碟 I / O 的等待,小可仔提懸一寡效能。紀錄檔校驗佮的技術源於威斯康辛大學的一篇名做 _ IRON File Systems _ 的研究論文(見第六節 transaction checksums 校驗佮處理)
線頂磁碟整理
- 對線上磁碟整理工具有誠濟草案,但是遮的草案攏無予包含佇主流的核心當中。就算 Ext 四包含著有誠濟避免吸碟喙帕仔的技術,但是磁仔片抑是難免會佇一个長時間來使用過的檔案系統中存在。Ext 四將會有一个具有磁碟整理功能的工具。
快速檔案系統檢查
- Ext 四將無使用的區塊標記佇咧 inode 當中,按呢會使致病 e 二 fsck 之類的工具佇磁仔檢查的時陣將這寡區域完全跳過,啊若節約大量的檔案系統檢查的時間。這個特性已經佇二嬸六 . 二十四版本的 Linux 核心中實現。
參見
- Btrfs
參考資訊
相關介紹
- 分析 ext 四 ( IBM Developer Works )