4.1.4 簇及簇大小的确定
如果逐个地在扇区存储数据文件并保存文件位置信息,则效率太低。在实际使用中,FAT文件系统将磁盘上一个或若干个扇区组织成一个“簇”,簇是文件系统进行数据读/写操作的最小单位。
数据文件在磁盘上是以簇为单位,而不是以扇区为单位存放的。一个簇由一个或多个扇区组成,每个簇所占用的扇区数由操作系统版本和磁盘类型决定。一个文件可占用一个或多个簇,但至少占用一个簇。如若有一个长度为100字节的文件放在2扇区/簇的磁盘上,则此文件将占用1024字节的磁盘空间,而不是仅占用100字节的磁盘空间。
在硬盘上,簇的大小由操作系统版本及硬盘逻辑盘容量的大小来确定,它往往包含2、4、8、16或更多的扇区。从节约磁盘的空间的角度来讲,簇是越小越好,但是一个簇容量过小的硬盘,文件存取的效率又太低。为了让大家清楚硬盘上簇的大小与分区的关系,下面详细介绍簇的形成。
对软盘以及16MB以下的硬盘分区,在FAT中以12bit为一个表项值来描述整个磁盘的使用情况,每个表项与磁盘上的所有簇是一一对应的,12个二进制位所能表示的簇是:
212=4096簇
因此任何软盘的簇不超过4096,16MB硬盘的簇数为4096,每簇含16×1024÷4096=4KB。
对于128MB硬盘,DOS在FAT中使用16bit为一个表项值,所能表示的簇为:
216=65536簇
所以,128MB硬盘每簇含128×1024÷65536=2KB。
对于128MB以上容量的逻辑盘,由于FAT仍然使用16bit作为一个表项值,而簇数最大值为65536,由此看来不同容量的逻辑盘,每簇所包含的字节数是不同的,分别计算如下:
256×1024÷65536=4KB
512×1024÷65536=8KB
1024×1024÷65536=16KB
由上述过程得知,簇的大小不仅与硬盘容量有关,而且还与FAT文件系统的模式(即一个FAT表项的长度)有关。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。