近日 Linux 业界最大的新闻莫过于 Ext4 的准备推出,这的确为 Linux 巩固了 WEB 服务器市场的份额,近日各大媒体报道 Linus Torvalds 向内核主支整合了大量文件系统 Ext4 的补丁,这一信号标志着下一个版本的 kernel 2.6.28 中,Ext3 的后继者将脱离发展阶段,内核开发者最早是在 Linux 2.6.19 中引入 Ext4 的早期版本。但这并不意味着 Ext4 的开发结束,开发者还需要继续工作,修复补丁和增加功能,而发行版可能需等待一段时间观察 效果。
以下是我找到的一些 Ext4 新特性的对比资料:
功能 | 优势 |
更大的文件系统 | Ext3 最多只能容纳 32 TiB 的文件系统和 2 TiB 的文件,根据使用的具体架构和系统设置,实际容量上限可能比这个数字还要低 — 或许只能容纳 2 TiB 的文件系统和 16 gibibyte(GiB)的文件。相反,Ext4 的文件系统容量达到 1024 pebibyte(PiB), 或 1 exbibyte(EiB),而文件容量则达到 16 TiB。对一般的台式计算机和服务器而言,这可能并不重要,但对大磁盘阵列的用户而言,这就非常重要了。 |
extent | extent 是一种提高磁盘文件描述符效率的方法,它能够减少删除大型文件所需的时间等等。 |
持久性预分配 | 如果一个应用程序需要在实际使用磁盘空间之前对它进行分配,大部分文件系统都是通过向未使用的磁盘空间写入 0 来实现分配。而 ext4 允许提前分配,无需进行上述操作,这能提高某些数据库和多媒体工具的性能。 |
延迟分配 | Ext4 能够尽量延迟磁盘空间的分配,这能够提高性能。 |
更多的子目录 | 如果 ext3 中一个目录只能包含 32,000 个子目录还不能满足您的需求,那么不必担心,因为 ext4 取消了这一限制。 |
日志 checksum | Ext4 给日志数据添加了检查和(checksum)功能,这能提高可靠性和性能。 |
在线磁盘整理 | 虽然 ext3 一般不会受到碎片的影响,但是存储在它里面的文件多少会产生一些碎片。Ext4 支持在线磁盘整理,这能够改善总体性能。 |
恢复删除文件 | 虽然这一功能尚未实现,但 ext4 将支持恢复删除文件。当文件被意外删除时,此功能将极为有用。 |
更快的文件系统检查 | Ext4 添加了新的数据结构,允许 fsck 在检查中跳过磁盘中未使用的部分,因此加快了文件系统的检查。 |
纳秒级时间戳 | 大部分的文件系统(包括 ext3)都包含有精确到秒的时间戳数据,而 ext4 把精确度提高到了纳秒。一些资料还表明 ext4 的时间戳支持的日期达到 2514 年 4 月 25 日,而 ext3 只达到 2038 年 1 月 18 日。 |
由 于 ext4 目前还处于开发阶段,这个功能表还会有所变动。功能列表的一些功能在实际使用中不具备与 Ext3 的向后兼容性 — 即可能无法使用 Ext3 文件系统类型的代码挂载 Ext4 文件系统。但是 Ext4 保留了向前兼容性 — 您可以像挂载 Ext4 文件系统一样挂载 Ext3 文件系统。
另外,据说 Ext4 的设计借鉴了很多 seiserfs 的设计思想,也是在为 btrfs 搭桥,也有人说 Linus Torvalds 实际上是想最终过渡到类似 ZFS 在 RAID 领域的高度,不管怎么样,这都将是 Linux 发展的好消息。不过,任何一个文件系统的诞生都必须经过时间与实践的考验,Ext4 一定只是 Ext5 的铺垫,目前该做的事就是做好准备,期待更激动人心的消息出现吧。
还有一个报道挺有意思,说是 Linux 版本 2.6.27 更新后,人们发现,这一内核的源代码数量已经超过了 1000 万行,以下是 David Wheeler 的 SLOCCount 计数程序对 Linux 内核代码库进行的分析发现了一些有趣的事。
类型 | 行数 | 百分比 |
驱动程序 | 3,301,081 | 51.6 |
系统架构 | 1,258,638 | 19.7 |
文件系统 | 544,871 | 8.5 |
网络 | 376,716 | 5.9 |
声音 | 356,180 | 5.6 |
Include | 320,078 | 5.0 |
内核 | 74,503 | 1.2 |
内存管理 | 36,312 | 0.6 |
密码学 | 32,769 | 0.5 |
安全 | 25,303 | 0.4 |
其它 | 72,780 | 1.1 |
去除空行、注释、和其他输入信息后的总共 6,399,191 行代码看起来很可怕,但是比起 Window 近 5000 万行的核心代码,算是相当精简了,有空真应该抽取几部分,好好研究一下,这可是多少人类智慧的结晶啊 ... 越来越感觉到开源世界的资源是多么无比强大啊,最后,祝 Linux 越来越好 :)