ESPERE O
MELHOR, PREPARE-SE PARA O PIOR E VIRE-SE COM O QUE VIER.
Continuando de onde paramos na postagem da última quarta-feira: a FAT 16 opera com, no máximo, 2 GB ― para aplicá-la num drive de 5 GB,
por exemplo, ocupar todo o espaço disponível exigiria criar duas partições de 2
GB e uma terceira de 1 GB, também por exemplo. Por conta disso, a Microsoft passou a utilizar a FAT 32 nas edições 95 (versão OSR 2) 98 e ME do Windows, e o (bem
mais avançado) NTFS a partir das
edições 2000 e XP. Mas vamos por partes.
A FAT trabalha
com clusters, que, como vimos, são
conjuntos de setores do disco rígido. Na FAT16,
cada cluster pode armazenar 2 KB, 4 KB, 8 KB, 16 KB ou 32 KB. Note que esse
tamanho é uniforme ― ou seja, não pode haver, na mesma unidade, clusters de
tamanhos diferentes. Cada arquivo utiliza tantos clusters quantos forem
necessários para contê-lo integralmente; um arquivo com 50 KB, por exemplo,
pode ser gravado em 2 clusters de 32 KB cada, mas isso desperdiçaria 16 KB,
pois a sobra não pode ser destinada a gravação de dados pertencentes a outro
arquivo. Daí se conclui que o maior problema do sistema FAT, além da limitação a 2 GB, é o brutal desperdício de espaço.
Explicando melhor: A FAT 16 usa 16 bits para
endereçamento dos dados (daí o número 16 na sigla), o que, na prática, significa
que ele pode trabalhar com, no máximo, 65536 clusters (216). Então, 65536
clusters de 32 KB cada resulta num
espaço total de 2.097.152 KB, que
corresponde a 2 GB (note que, quando
maior for o cluster, maior será, consequentemente, o desperdício de espaço). Já
a FAT 32 utiliza 32 bits no
endereçamento de dados e suporta o uso de clusters menores (de 4 KB, p.ex.), reduzindo
significativamente o desperdício de espaço.
O limite da FAT 32 é de 2 terabytes (TB). No entanto, se repetirmos o cálculo anterior
considerando 32 em vez de 16 (232) e multiplicarmos o resultado pelo
tamanho máximo do cluster (também 32), chegaremos a 128 TB. A questão é que, embora cada endereçamento tenha 32 bits, no
número máximo de clusters, são considerados apenas 28 bits. Daí termos 228,
que dá 268.435.456, ou seja, aproximadamente 268 milhões de clusters, que,
multiplicados esse número por 32, resultam em 8 TB.
Ainda faltam 6 TB, mas isso se explica pelo fato de a Microsoft ter limitado a FAT 32 a 232 considerando o número máximo de setores, não de clusters. Como cada setor possui 512 bytes (ou 0,5 kilobyte), a conta a ser feita é 232 (4.294967296) multiplicado por 0,5, que dá 2.147.483.648 KB, ou seja, 2 TB ― de outra forma, poderia haver problemas com a inicialização do sistema operacional devido a limitações na área de boot.
Ainda faltam 6 TB, mas isso se explica pelo fato de a Microsoft ter limitado a FAT 32 a 232 considerando o número máximo de setores, não de clusters. Como cada setor possui 512 bytes (ou 0,5 kilobyte), a conta a ser feita é 232 (4.294967296) multiplicado por 0,5, que dá 2.147.483.648 KB, ou seja, 2 TB ― de outra forma, poderia haver problemas com a inicialização do sistema operacional devido a limitações na área de boot.
Observação: Volto a lembrar que setor e cluster são
coisas distintas; o primeiro corresponde à menor unidade física do HDD,
ao passo que o segundo, que é formado por um conjunto de setores, remete
à menor unidade lógica que o SO é capaz de acessar para
armazenar dados.
Por hoje está de
bom tamanho, pessoal. Continuaremos no próximo capítulo, quando então falaremos formato de arquivos NTFS e (finalmente) da desfragmentação dos dados. Até lá.