文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,其中包含:EXT2、EXT3、EXT4、FAT、FAT32等。那么Linux系统中ext3和ext4有什么不同?以下是详细的内容介绍。

  Linux系统中ext3和ext4有什么不同?

  1、更大的文件系统和更大的文件

  ext3:16TB文件系统和最大2TB文件;

  ext4:1EB文件系统和最大16TB文件。

  2、无限数量的子目录

  ext3:32000个子目录;

  ext4:无限数量的子目录。

  3、Extents

  ext3:采用间接块映射,当操作大文件时,效率极其低下。比如一个100MB大小的文件,在ext3中要建立25600个数据块的映射表。

  ext4:引入了Extents概念,每个Extent为一组连续的数据块,上述文件则表示为该文件数据保存在接下来的25600个数据块中,提高了不少效率。

  4、多块分配

ext3的数据块分配器每次只能分配一个4KB的块,写一个100MB文件就要调用25600次数据块分配器,而ext4的多块分配器multiblock
allocator支持一次调用分配多个数据块。

  5、延迟分配

  ext3的数据块分配策略是尽快分配,而ext4是尽可能地延迟分配,直到文件在cache中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

  6、inode相关特性

  ext3:128byte;

  ext4:256byte。