文件分配表FAT(File Allocation Table)用来记录文件所在位置的表格。

FAT32:

32位文件系统,FAT32分区的最大容量只有2TB,8KB簇下也不过32TB,单个文件体积更是不能超过4GB,文件名长度也不可以超过255个字符。

另外,FAT32不支持日志、版权管理等高级技术,安全性也很差。


NTFS:

全称New Technology File System(新技术文件系统),Windows NT的新特性,属性类似IBM HPFS。文件体积最大16TB(理论上16EB),分区容量最大256TB,不过文件名还是最多255个字符。

NTFS还支持LZ77压缩、文件级加密(一般是AES)、访问控制(ACL),簇尺寸减小到4KB(这一点对固态硬盘很重要)。主文件表(MFT)负责存储稳健的属性、位置、访问信息。


                              FAT32                NTFS                      exFAT

操作系统 Win 95 OSR2之后    Win2000之后     Win CE 6/Vista SP1

最小扇区  512bytes                   512bytes                512bytes

最大扇区  64KB                          64KB                   32768KB

最大单一文件  2bytes-4GB      无限制                  16EB(理论值)

最大格式化容量   32GB            2TB                     16EB(理论值)

档案数量       4194304               无                    至少可以大于1000


ETX2


The Second Extended File System(ext2)文件系统是Linux系统中的标准文件系统,是通过对Minix的文件系统进行扩展而得到的,其存取文件的性能极好。


在ext2文件系统中,文件由inode(包含有文件的所有信息)进行唯一标识。一个文件可能对应多个文件名,只有在所有文件名都被删除后,该文件才会被删除。此外,同一文件在磁盘中存放和被打开时所对应的inode是不同的,并由内核负责同步。


ext2文件系统采用三级间接块来存储数据块指针,并以块(block,默认为1KB)为单位分配空间。其磁盘分配策略是尽可能将逻辑相邻的文件分配到磁盘上物理相邻的块中,并尽可能将碎片分配给尽量少的文件,以从全局上提高性能。ext2文件系统将同一目录下的文件(包括目录)尽可能的放在同一个块组中,但目录则分布在各个块组中以实现负载均衡。在扩展文件时,会尽量一次性扩展8个连续块给文件(以预留空间的形式实现)。


磁盘组织


在ext2系统中,所有元数据结构的大小均基于“块”,而不是“扇区”。块的大小随文件系统的大小而有所不同。而一定数量的块又组成一个块组,每个块组的起始部分有多种多样的描述该块组各种属性的元数据结构。ext2系统中对各个结构的定义都包含在原始码的include/linux/ext2_fs.h文件中。