Por que o FAT32 é limitado a pouco menos de 2 ^ 28 clusters?

31

Com o FAT16, o tamanho máximo da partição é de 2 GB quando o tamanho máximo do cluster é 32 KB.

Isso é calculado multiplicando o número de unidades endereçáveis pelo tamanho do cluster.

(216 Allocation units) * (215 bytes/cluster) = 2 GiB

No entanto, com o FAT32, quando faço o mesmo cálculo, recebo um número muito maior do que o máximo de 8 TiB ao usar dois clusters 32 .

(232 Allocation units) * (cluster size)

Se eu usar um tamanho de cluster de 512 bytes, já cheguei a 2 TiB.

Em um artigo da XP TechNet, a Microsoft diz

The maximum possible number of clusters on a FAT32 volume is 268,435,445, and there is a maximum of 32 KB per cluster, along with the space required for the file allocation table (FAT).

Isso coloca o tamanho máximo do cluster em 2 28 - 11.

Por que o número máximo de clusters em FAT32 2 28 -11 e não 2 32 , já que era 2 16 em FAT16 ?

    
por QMord 06.10.2015 / 22:26

1 resposta

49

FAT32 usa apenas 28 bits não 32. Quatro bits são "reservados para uso futuro".

Portanto, uma partição FAT32 tem uma contagem máxima de cluster de 268.435.455 (2 28 -1)

Referência

Although VFAT was a clever system, it did not address the limitations of FAT16. As a result, a new file system (and not just better FAT management as was the case with VFAT) appeared with Windows 95 OSR2. This file system, called FAT32 uses 32-bit values for the FAT entries. In fact, only 28 bits are used, as 4 bits are reserved for future use.

With the appearance of the FAT32 file system, the maximum number of clusters per partition went increased from 65535 to 268,435,455 (228-1). FAT32 thus allows much bigger partitions (up to 8 terabytes). Although the maximum theoretical size of a FAT32 partition is 8 TB, Microsoft has voluntarily limited it to 32 GB on Windows 9x systems to promote NTFS

    
por 06.10.2015 / 22:57