fbpx
维基百科

ext4

第四代擴充套件檔案系統(英語:Fourth extended filesystem,縮寫為ext4)是Linux系統下的日誌檔案系統,是ext3檔案系統的后继版本。

ext4
开发者Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh, others
全称Fourth extended file system
发布穩定版: 2008年10月21日
不穩定版: 2006年10月10日 (Linux 2.6.28, 2.6.19)
分区标识0x83(MBR
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(GPT
结构
目录内容链表, hashed B-tree
文件分配Extents/Bitmap
坏块表格
限制
最大文件尺寸16 TiB(for 4k block filesystem)
最大文件数量40億(在檔案系統建立時指定)
最长文件名256位元組
最大卷容量1 EiB
文件名字符集除NULL('\0')和 '/'外之所有字元(大小寫敏感)
功能
日期记录修改(mtime),屬性修改(ctime),讀取(atime),刪除(dtime),建立(crtime)
日期范围1901年12月14日 - 2514年4月25日
日期分辨率纳秒
岔流
属性extents, noextents, mballoc, nomballoc, delalloc, nodelalloc, data=journal, data=ordered, data=writeback, commit=nrsec, orlov, oldalloc, user_xattr, nouser_xattr, acl, noacl, bsddf, minixdf, bh, nobh, journal_dev
文件系统权限POSIX
透明压缩
透明加密
单一实例存储(SIS)
操作系统支持LinuxAndroidWindows(通过Ext2Fsd

歷史 编辑

ext4原始的開發目標是一系列的向下兼容ext3、移除其64位元限制與提升其效能的延伸套件[1]。然而,某些Linux開發者因穩定性原因而拒絕將這些延伸套件應用在ext3上[2],並要求其作為ext3的分支,改名為ext4並另行開發,以免影響到目前的ext3使用者。該要求被接受以後,ext3維護者曹子德(Theodore Ts'o)在2006年6月28日公開了ext4的開發計畫[3]

在Linux核心2.6.19版中,首次導入ext4的一個先期開發版本[4]。在2008年10月11日,ext4被當成穩定版本,加入Linux 2.6.29版的原始碼中,ext4的開發階段進入尾聲[5]。2008年12月25日,Linux 2.6.29版公開釋出之後,ext4成為Linux官方的建議預設檔案系統。

2010年1月15日,Google宣布將他們公司使用的檔案系統,由ext2,升級為ext4。在同年12月14日,Google也宣布他們將在Android 2.3版中,使用ext4來取代之前的YAFFS

特色 编辑

大型檔案系統
ext4檔案系統可支援最高1 Exbibyte的分割區[6]與最大16 Tebibyte的檔案。
Extents
ext4引進了Extent檔案儲存方式,以取代ext2/3使用的block mapping方式。Extent指的是一連串的連續實體block,這種方式可以增加大型檔案的效率並減少分裂檔案。ext4支援的單一Extent,在單一block為4KB的系統中最高可達128MB[1]。單一inode中可儲存4筆Extent;超過四筆的Extent會以Htree方式被索引。
向下相容
ext4向下相容於ext3ext2,因此可以將ext3和ext2的檔案系統掛載為ext4分割區。由於某些ext4的新功能可以直接運用在ext3和ext2上,直接掛載即可提升少許效能。
ext3檔案系統可以部分向上相容於ext4(也就是說ext4檔案系統可以被掛載為ext3分割區)。然而若是使用到Extent技術的ext4將無法被掛載為ext3。
預留空間
ext4允許對一檔案預先保留磁碟空間。目前大多數檔案系統做到這點的方式是直接產生一個填滿0的檔案;ext4和XFS可以使用Linux核心中的一個新的系統呼叫「fallocate()」取得足夠的預留空間。
延遲取得空間
ext4使用一種稱為allocate-on-flush的方式,可以在資料將被寫入磁碟(sync)前才開始取得空間;大多數檔案系統會在之前便取得需要的空間。這種方式可以增加效能並減少檔案分散程度。
突破32000子目錄限制
ext3的一個目錄下最多只能有32000個子目錄。ext4的子目錄最高可達64000,且使用「dir_nlink」功能後可以達到更高(雖然父目錄的link count會停止增加)。為了避免效能受到大量目錄的影響,ext4預設開啟Htree(一種特殊的B树)索引功能。該功能已經實作於Linux核心2.6.23版。
日志校验和
Ext4使用校验和特性来提高文件系统可靠性,因为日志是磁盘上被读取最频繁的部分之一。这个特性还有一个好处就是可以安全地避免日志处理时磁盘I/O的等待,而稍微提高一些性能。日志校验和的技术源于威斯康辛大学的一篇名为IRON File Systems的研究论文(见第六节transaction checksums校验和处理)[7]
在线磁盘整理
对于在线磁盘整理工具有许多草案,但是这些草案都没有被包含在主流的内核当中。即使Ext4包含有许多避免磁盘碎片的技术,但是磁盘碎片还是难免会在一个长时间使用过的文件系统中存在。Ext4将会有一个具有磁盘整理功能的工具[8]
快速文件系统检查
Ext4将未使用的区块标记在inode当中,这样可以使诸如e2fsck之类的工具在磁盘检查时将这些区块完全跳过,而节约大量的文件系统检查的时间。这个特性已经在2.6.24版本的Linux内核中实现。

参见 编辑

參考資訊 编辑

  1. ^ 1.0 1.1 Mathur, Avantika; Cao, MingMing; Bhattacharya, Suparna; Dilger, Andreas; Tomas, Alex; Vivier, Laurent. The new ext4 filesystem: current status and future plans (PDF). Proceedings of the Linux Symposium. Ottawa, ON, CA: Red Hat. 2007 [2008-01-15]. [永久失效連結]
  2. ^ Torvalds, Linus. extents and 48bit ext3. LKML. 2006-06-09 [2009-10-23]. (原始内容于2017-08-22). 
  3. ^ Ts'o, Theodore. Proposal and plan for ext2/3 future development work. LKML. 2006-06-28 [2009-10-23]. (原始内容于2009-02-19). 
  4. ^ Leemhuis, Thorsten. Higher and further: The innovations of Linux 2.6.28(page 2). Heise Online. 2008-12-23 [2010-01-09]. (原始内容于2009-01-03). 
  5. ^ . Linus' kernel tree. [2008-10-20]. (原始内容存档于2019-12-10). 
  6. ^ . DeveloperWorks. IBM. [2008-12-14]. (原始内容存档于2008-12-01). 
  7. ^ Vijayan Prabhakaran; et al. IRON File Systems (PDF). CS Dept, University of Wisconsin. [2009-10-23]. (原始内容 (PDF)于2010-06-15). 
  8. ^ ext4新功能#在线磁盘碎片整理. [2010-09-07]. (原始内容于2018-01-10). 

相关介绍 编辑

ext4, 第四代擴充套件檔案系統, 英語, fourth, extended, filesystem, 縮寫為, 是linux系統下的日誌檔案系統, 是ext3檔案系統的后继版本, 开发者mingming, andreas, dilger, alex, zhuravlev, tomas, dave, kleikamp, theodore, eric, sandeen, naghshineh, others全称fourth, extended, file, system发布穩定版, 2008年10月21日不穩定版,. 第四代擴充套件檔案系統 英語 Fourth extended filesystem 縮寫為ext4 是Linux系統下的日誌檔案系統 是ext3檔案系統的后继版本 ext4开发者Mingming Cao Andreas Dilger Alex Zhuravlev Tomas Dave Kleikamp Theodore Ts o Eric Sandeen Sam Naghshineh others全称Fourth extended file system发布穩定版 2008年10月21日不穩定版 2006年10月10日 Linux 2 6 28 2 6 19 分区标识0x83 MBR EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 GPT 结构目录内容链表 hashed B tree文件分配Extents Bitmap坏块表格限制最大文件尺寸16 TiB for 4k block filesystem 最大文件数量40億 在檔案系統建立時指定 最长文件名256位元組最大卷容量1 EiB文件名字符集除NULL 0 和 外之所有字元 大小寫敏感 功能日期记录修改 mtime 屬性修改 ctime 讀取 atime 刪除 dtime 建立 crtime 日期范围1901年12月14日 2514年4月25日日期分辨率纳秒岔流否属性extents noextents mballoc nomballoc delalloc nodelalloc data journal data ordered data writeback commit nrsec orlov oldalloc user xattr nouser xattr acl noacl bsddf minixdf bh nobh journal dev文件系统权限POSIX透明压缩否透明加密否单一实例存储 SIS 否操作系统支持Linux Android Windows 通过Ext2Fsd 目录 1 歷史 2 特色 3 参见 4 參考資訊 5 相关介绍歷史 编辑ext4原始的開發目標是一系列的向下兼容ext3 移除其64位元限制與提升其效能的延伸套件 1 然而 某些Linux開發者因穩定性原因而拒絕將這些延伸套件應用在ext3上 2 並要求其作為ext3的分支 改名為ext4並另行開發 以免影響到目前的ext3使用者 該要求被接受以後 ext3維護者曹子德 Theodore Ts o 在2006年6月28日公開了ext4的開發計畫 3 在Linux核心2 6 19版中 首次導入ext4的一個先期開發版本 4 在2008年10月11日 ext4被當成穩定版本 加入Linux 2 6 29版的原始碼中 ext4的開發階段進入尾聲 5 2008年12月25日 Linux 2 6 29版公開釋出之後 ext4成為Linux官方的建議預設檔案系統 2010年1月15日 Google宣布將他們公司使用的檔案系統 由ext2 升級為ext4 在同年12月14日 Google也宣布他們將在Android 2 3版中 使用ext4來取代之前的YAFFS 特色 编辑大型檔案系統 ext4檔案系統可支援最高1 Exbibyte的分割區 6 與最大16 Tebibyte的檔案 Extents ext4引進了Extent檔案儲存方式 以取代ext2 3使用的block mapping方式 Extent指的是一連串的連續實體block 這種方式可以增加大型檔案的效率並減少分裂檔案 ext4支援的單一Extent 在單一block為4KB的系統中最高可達128MB 1 單一inode中可儲存4筆Extent 超過四筆的Extent會以Htree方式被索引 向下相容 ext4向下相容於ext3與ext2 因此可以將ext3和ext2的檔案系統掛載為ext4分割區 由於某些ext4的新功能可以直接運用在ext3和ext2上 直接掛載即可提升少許效能 ext3檔案系統可以部分向上相容於ext4 也就是說ext4檔案系統可以被掛載為ext3分割區 然而若是使用到Extent技術的ext4將無法被掛載為ext3 預留空間 ext4允許對一檔案預先保留磁碟空間 目前大多數檔案系統做到這點的方式是直接產生一個填滿0的檔案 ext4和XFS可以使用Linux核心中的一個新的系統呼叫 fallocate 取得足夠的預留空間 延遲取得空間 ext4使用一種稱為allocate on flush的方式 可以在資料將被寫入磁碟 sync 前才開始取得空間 大多數檔案系統會在之前便取得需要的空間 這種方式可以增加效能並減少檔案分散程度 突破32000子目錄限制 ext3的一個目錄下最多只能有32000個子目錄 ext4的子目錄最高可達64000 且使用 dir nlink 功能後可以達到更高 雖然父目錄的link count會停止增加 為了避免效能受到大量目錄的影響 ext4預設開啟Htree 一種特殊的B树 索引功能 該功能已經實作於Linux核心2 6 23版 日志校验和 Ext4使用校验和特性来提高文件系统可靠性 因为日志是磁盘上被读取最频繁的部分之一 这个特性还有一个好处就是可以安全地避免日志处理时磁盘I O的等待 而稍微提高一些性能 日志校验和的技术源于威斯康辛大学的一篇名为IRON File Systems的研究论文 见第六节transaction checksums校验和处理 7 在线磁盘整理 对于在线磁盘整理工具有许多草案 但是这些草案都没有被包含在主流的内核当中 即使Ext4包含有许多避免磁盘碎片的技术 但是磁盘碎片还是难免会在一个长时间使用过的文件系统中存在 Ext4将会有一个具有磁盘整理功能的工具 8 快速文件系统检查 Ext4将未使用的区块标记在inode当中 这样可以使诸如e2fsck之类的工具在磁盘检查时将这些区块完全跳过 而节约大量的文件系统检查的时间 这个特性已经在2 6 24版本的Linux内核中实现 参见 编辑Btrfs參考資訊 编辑 1 0 1 1 Mathur Avantika Cao MingMing Bhattacharya Suparna Dilger Andreas Tomas Alex Vivier Laurent The new ext4 filesystem current status and future plans PDF Proceedings of the Linux Symposium Ottawa ON CA Red Hat 2007 2008 01 15 永久失效連結 Torvalds Linus extents and 48bit ext3 LKML 2006 06 09 2009 10 23 原始内容存档于2017 08 22 Ts o Theodore Proposal and plan for ext2 3 future development work LKML 2006 06 28 2009 10 23 原始内容存档于2009 02 19 Leemhuis Thorsten Higher and further The innovations of Linux 2 6 28 page 2 Heise Online 2008 12 23 2010 01 09 原始内容存档于2009 01 03 ext4 Rename ext4dev to ext4 Linus kernel tree 2008 10 20 原始内容存档于2019 12 10 Migrating to Ext4 DeveloperWorks IBM 2008 12 14 原始内容存档于2008 12 01 Vijayan Prabhakaran et al IRON File Systems PDF CS Dept University of Wisconsin 2009 10 23 原始内容存档 PDF 于2010 06 15 引文格式1维护 显式使用等标签 link ext4新功能 在线磁盘碎片整理 2010 09 07 原始内容存档于2018 01 10 相关介绍 编辑剖析ext4 IBM Developer Works 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title Ext4 amp oldid 65483216, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。