FAT 系统中的最大文件数

FAT 系统中的最大文件数

在 FAT 文件系统中,每个文件系统的最大文件数是否等于 FAT 表中的条目数?在索引文件系统中,每个文件系统的最大文件数是否等于索引块数 - 1?

我正在阅读一些资料并尝试对其进行更好的理解。

答案1

基于 MS FAT 的文件系统对于可以存储在根目录中的文件数量有所限制(几百个 IIRC),并且由于文件名存储的方式较长,比传统的“8 + 3”更长的文件/目录名将消耗限制中的更多条目。

对于子目录,FAT32 允许每个子目录有 ~65,000 个条目(同样,长文件名占用多个插槽),我不确定旧版 FAT16 是否如此。其他文件系统也有类似的限制(ext2/3 在没有某些调整的情况下有 32,000 个条目限制),有些则没有或实际上没有(NTFS 允许 ~4,000,000,000)。在达到每个目录的条目限制之前,您会在某些文件系统上遇到性能问题,因为有些文件系统会线性搜索目录(FAT* 会这样做,ext2 会这样做,ext3 会这样做,除非您指定索引目录,否则 ext4 和 NTFS 默认会索引目录 IIRC)。

答案2

在 FAT 文件系统中,如果文件不为空,则每个文件至少会获得一个分配簇。但目录也会占用簇。这是一个间接限制。确切的公式取决于一些参数,例如文件名的长度。size=0 的文件是一种非常特殊的情况。

接下来大致正确。如果所有文件的大小都大于零,则最大文件数小于 FAT 表中的分配单元数。

也许类似的想法适用于索引文件系统。

相关内容