HFS+文件系统使用“分配文件”来描述宗卷中的每个块是否已经分配给文件系统使用。分配文件相当于一个位图文件,文件中的每个位都映射到宗卷内相应的一个块:如果某个位进行了设置(被置1),说明该位所映射的块已经被文件系统所使用,就不能再分配使用了;如果某个位没有设置(为0),说明该位所映射的块没有被使用,可以随时分配给文件使用。
分配文件的内容如图6-55所示。
图6-55是一个HFS+宗卷分配文件的头部,其中的数据全都是“FF”,每个“FF”换算为二进制就是8个1,对应宗卷内的8个块,这些位全部置1说明它们所映射的块已经使用。
分配文件有如下特点:
①分配文件的大小与宗卷中块的数量有直接关系,宗卷内的块数越多,分配文件就越大,但分配文件至少占用一个块,并且总是占用整数个块。
②对于一个宗卷来说,分配文件的字节数可以大于这个宗卷所需要的最小字节数。这种情况下分配文件中就会有些位没有相映射的块,那么这些位须全部设置为0。
③宗卷的卷头、备份卷头及宗卷开始的两个扇区和最后的一个扇区所在的块必须被标记为“已分配”。
④在分配文件每个字节的内部,最高位用来描述该字节映射的块中块号最小的块,最低位用来描述块号最大的块。
⑤分配文件本身可以是不连续的,在宗卷中分配文件可以和用户文件交叉存放。
⑥分配文件是可以扩展的。因为分配文件的可扩展性,所以很容易增加磁盘上的块的数量,这对于减少块的大小和扩大宗卷的空间都是非常有用的。