知道有许多不同的文件系统(FAT16、FAT32、NTFS、ReFS、EXT2/3/4、ZFS、HPFS、HFS+、CDFS 等),我假设它们都有不同的用途。我知道 EXT 用于 *nix 产品,而 NTFS 是 Windows XP 至 8 的默认文件系统。
除了功能之外,文件系统在处理更多文件、更小文件、更大文件或更大空间方面有何优势?是什么让文件系统如此特别?为什么不能有一个标准的文件系统,每个人都可以读取、理解,并可以在他们的操作系统中使用?我知道 FAT32 是相当标准的,但缺乏安全性。除此之外,还有什么原因?
答案1
如果您回顾文件系统的历史,就会发现每个文件系统都是在考虑当前技术的情况下开发的。例如,Windows 95 附带的 fat32 的文件大小限制为 4GB。目前大多数计算机上的 pagefile.sys 和 hiberfil.sys 都大于 4GB。当 Microsoft 意识到需要超越这些和其他限制时,他们开发了 NTFS。
文件系统的开发与它们所支持的操作系统密切相关。Ext2/3/4 的历史与使用它们的 Linux 内核的发展密切相关。本地磁盘可能永远不会有任何“大统一文件系统”,因为它与操作系统的发展紧密相关,而实际上多样性是一件好事。
您更有可能看到网络类型文件系统的统一。目前,我们有 CIFS/SMB 协议,几乎每个操作系统都可以处理。
答案2
块大小是您要了解的事情之一。较小的块大小允许您存储更多小文件而不会浪费任何容量,但大于块大小的文件可能会变得碎片化。同样,较大的块意味着较少的碎片,但将小文件存储在较大的块中是一种很大的浪费,除非文件系统可以进行块子分配(访问单个块中的许多小文件)。如今,这个问题不再那么令人担忧,因为大多数现代文件系统都能够将多个文件存储在同一个块中(NTFS/Ext3/4/等)。
查看@terdon 评论中的链接。它涵盖了现代 FS 的许多其他属性以及它们如何得到支持。