linux中ex3和ex4的区别
1、更大的文件系统和更大的文件
ext3:16TB文件系统和最大2TB文件,ext4:1EB文件系统和最大16TB文件。
2、无限数量的子目录
ext3:32,000个子目录,ext4:无限数量的子目录。
3、Extents
ext3采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在ext3中要建立25,600个数据块(每个数据块大小为 4KB)的映射表。
而ext4引入了extents概念,每个extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的25,600个数据块中”,提高了不少效率。
4、多块分配
ext3的数据块分配器每次只能分配一个4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 ext4的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。
5、延迟分配
ext3的数据块分配策略是尽快分配,而 ext4是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
6、inode 相关特性
ext3:128byte,ext4:256byte。