文件占用磁盘空间时,基本单位不是字节而是簇。簇的大小与磁盘的规格有关,一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64……
通常在Windows平台下使用的3种文件系统是FAT(文件分区表),FAT32(32位文件分区表)和NTFS(NT文件系统)。在FAT文件系统下,每一个磁盘被分成固定大小的簇。簇最少为512个字节,其大小可以成倍增长,最大为32K。每个簇都是由唯一的索引号——一个16位二进制数来标识。因为16位二进制数最大为65536,所以FAT分区所拥有的簇的数量不可能超过65536个。簇的数量和大小的限制,就是FAT分区为什么不能超过2GB的原因。
FAT中的入口连接着组成一个文件的各个簇,文件的目录入口包含其第一个簇的索引号,而该簇在FAT中的入口又包含着下一个簇的索引号,依此类推。一个文件的最后一簇对应的FAT入口则包含着一个特殊的文件终止符,未使用的簇和损坏的簇也会用特殊代码标识出来。FAT32文件的原理几乎与此相同,但它的簇更小,而且由于FAT32入口是32位,所以其容量理论上可以超过40亿个字节。
NTFS是一个相当高级的文件系统。它的主文件表(MFT)是一个非常完整的数据库,它负责对磁盘上的每个文件进行索引。每个MFT的入口通常为1K大小,其中记录了大量的文件信息。NTFS可以在文件的MFT入口中存储非常小的文件的全部内容;对于大一些的文件,这些入口会标识出包含文件数据的簇。