文件系统是文件存放在磁盘等存储设备上的组织方法。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。