1、文件系统与簇的关系在 Windows 系统中,一个文件的大小和它在硬盘上所占的空间是两个既相互联系又有区别的。在不同的情况下,同一个文件放在不同的分区中所占空间会发生变化。这是为什么呢?这是由于不同磁盘簇的大小不一样导致的。簇的大小主要由磁盘的分区格式和容量大小来决定。为了便宜理解,下面我来详细为大家介绍。首先我们来文件系统和簇两个概念,文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统 (FAT 16/32/NTFS) 打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一
2、个簇,然后再对簇进行管理。每个簇可以包括 2 、4 、8 、16 、32 或 64 个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。而簇的大小主要由磁盘所采用的文件系统和容量大小来决定,其对应关系如下: 一、 FAT16 文件系统与簇的大小 在说明 FAT16
3、 文件系统之前,我们必须清楚 FAT 是什么? FAT(File Allocation Table) 是 “ 文件分配表 ” 的意思。顾名思义,就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上的数据就会因无法定位而不能使用了。 FAT16 使用了 16 位的空间来表示每个扇区 (Sector) 配置文件的情形,故称之为 FAT16 。 FAT16 各分区与簇大小的关系如下表: 显然如果你在一个 2000MB 的分区中存放 40KB 的文件,由于该分区簇的大小为 32KB ,因此它要用到 2 个簇才行。而如果是一个 1KB 的文件,它也必须使用 1 个簇来存放,剩余的空间就浪费。 一、 FAT32 文件系统与簇的大小 为了解决 FAT16 存在的问题,开发出 FAT32 系统。 FAT32 使用了 32 位的空间来表示每个扇区 (Sector) 配置文件的情形。分区与簇的大小关系如下表: 从以上可以知, 如将 8GB 硬盘划分为单个分区的话,使用的簇的大小也只有 4KB ,比起以往的 FAT16 来说,真是节省了许多空间。 一、 NTFS 文件系统与簇的大小 在 NTFS 文件系统中,当分区的大小在 2GB 以下时,簇的大小应该比相应的 FAT32 簇小,即小于 4KB ;当分区的大小在 2GB 以上时,簇的大小应该都为 4KB 。