Sistemas de arquivos FAT16 e FAT32

Introdução

FAT16 e FAT 32 são nomes de sistemas de arquivos (file systems) utilizados por padrão em versões antigas do sistema operacional Windows (como o Windows 98, por exemplo), da Microsoft. Neste artigo, você conhecerá as principais características de cada um deles, assim como as diferenças entre ambos.


O que é um sistema de arquivos?

Não é possível gravar dados em um HD ou em qualquer outro dispositivo de armazenamento de forma a manter as informações acessíveis e organizadas sem um sistema de arquivos - essencialmente um tipo de estrutura que indica como os arquivos devem ser gravados e lidos pelo sistema operacional do computador.

É o sistema de arquivos que determina como as informações podem ser guardadas, acessadas, copiadas, alteradas, nomeadas e até apagadas. Ou seja, resumindo, toda e qualquer manipulação de dados em um dispositivo de armazenamento necessita de um sistema de arquivos para que estas ações sejam possíveis. Em resumo, sem um sistema de arquivos, os dados armazenados seriam apenas um conjunto de bits sem utilidade.

Há vários sistemas de arquivos disponíveis, para os mais diversos sistemas operacionais e para as mais variadas finalidades. Por exemplo, sistemas de arquivos utilizados em aplicações críticas - servidores de internet, por exemplo - costumam ter mais recursos para segurança ou para armazenamento de grandes volumes de dados.


Sistema de arquivos FAT

FAT é a sigla para File Allocation Table (traduzindo: Tabela deAlocação de Arquivos). A primeira versão do FAT surgiu em 1977, para trabalhar com o sistema operacional MS-DOS, mas foi padrão até o Windows 95.

Trata-se de um sistema de arquivos que funciona com base em uma espécie de tabela que indica onde estão os dados de cada arquivo. Esse esquema é necessário porque o espaço destinado ao armazenamento é dividido em blocos, e cada arquivo gravado pode ocupar vários destes, mas não necessariamente de maneira sequencial: os blocos podem estar em várias posições diferentes. Assim, a tabela acaba atuando como um "guia" para localizá-los.

Com o surgimento de dispositivos de armazenamento mais sofisticados e com maior capacidade, o sistema FAT foi ganhando revisões, identificadas pelos nomes FAT12 e FAT16, sendo o primeiro quase um desconhecido e o último padrão dos sistemas operacionais da Microsoft por muito tempo. As versões surgem com o intuito de eliminar determinadas limitações do sistema de arquivos anterior. O próprio FAT16, por exemplo, passou por isso: esta versão só trabalha com, no máximo, 2 GB, assim, para aplicá-lo em um disco de 5 GB, seria necessário dividi-lo em 3 partições (2 GB + 2 GB + 1 GB, por exemplo) para ser possível o aproveitamento de toda a capacidade da unidade.

Diante deste e de outros problemas, a Microsoft lançou, em 1996, o FAT32, que se tornou o sistema de arquivos do Windows 95 (versão OSR 2) e do Windows 98, sendo também compatível com versões lançadas posteriormente, como Windows 2000 e Windows XP, embora estes tenham um sistema de arquivos mais avançado, o NTFS.


Entendendo os sistemas de arquivos FAT

Em um disco rígido, a área de armazenamento é dividida em trilhas. Cada trilha é subdividida em setores (saiba mais neste artigo sobre HDs), cada um com 512 bytes, geralmente. Desse modo, é de se presumir que os sistemas de arquivos FAT trabalhem diretamente com esses setores. Mas não é bem assim.

Na verdade, o FAT trabalha com grupos de setores, onde cada um recebe a denominação cluster (ou unidade de alocação). No caso do FAT16, cada cluster pode ter, comumente, um dos seguintes tamanhos: 2 KB, 4 KB, 8 KB, 16 KB e, por fim, 32 KB. A definição desse tamanho é uniforme, ou seja, não pode haver tamanhos variados de clusters em uma mesma unidade de armazenamento.

Cada arquivo gravado utiliza tantos clusters quanto forem necessários para cobrir o seu tamanho. Se, por exemplo, tivermos um arquivo com 50 KB, é possível guardá-lo em dois clusters de 32 KB cada. Você deve ter percebido então que, neste caso, um cluster ficou com espaço sobrando. Esta área pode ser destinada a outro arquivo, correto? Errado! Acontece que cada cluster só pode ser utilizado por um único arquivo. Se sobrar espaço, este permanecerá vazio. Esse é um dos problemas do sistema FAT: desperdício.

Normalmente, o tamanho dos clusters é definido no procedimento de instalação do sistema operacional, na etapa de formatação da unidade de armazenamento.


Diferenças entre FAT16 e FAT32

O FAT16 utiliza 16 bits para endereçamento dos dados (daí o número 16 na sigla), o que, na prática, significa que o sistema de arquivos pode trabalhar com até 65536 clusters, no máximo. Para chegar a este número, basta fazer 2 elevado a 16 (65536).

Se temos então até 65536 clusters e cada um pode ter até 32 KB de tamanho, significa que o sistema FAT16 é capaz de trabalhar com discos ou partições com até 2 GB: 65536 x 32 = 2.097.152 KB, que corresponde a 2 GB.

O sistema de arquivos FAT32 consegue solucionar esse problema por utilizar 32 bits no endereçamento de dados (novamente, aqui você pode perceber o porquê do número na sigla). No FAT16, quanto maior o espaço em disco (considerando o limite de até 2 GB, é claro), maior o tamanho do cluster. Com o FAT32, é possível usar clusters menores - geralmente de 4 KB - mesmo com a unidade oferecendo maior capacidade de armazenamento. Desta forma, o desperdício acaba sendo menor.

O limite do FAT32 é de 2 TB (terabytes). Perceba, no entanto, que se você fizer o cálculo anterior considerando 32 em vez de 16 (2 elevado a 32) e, posteriormente, multiplicar o resultado pelo tamanho máximo do cluster (também 32), o valor obtido será de 128 TB. Então, qual o motivo do limite de 2 TB?

Na verdade, cada endereçamento tem tamanho de 32 bits, mas, no FAT32, o número máximo de clusters é calculado considerando apenas 28 bits, fazendo a conta ser 2 elevado a 28, que é igual a 268.435.456, ou seja, pouco mais de 268 milhões de clusters. Multiplicando esse número por 32, teremos então 8 TB.

Ok, novamente a conta não fechou, afinal, 8 TB para 2 TB é uma diferença muito grande. A explicação está no fato de que a Microsoft limitou o FAT32 a ter 2 elevado a 32 como quantidade máxima de setores, não de clusters (se fosse diferente, poderia haver problemas com a inicialização do sistema operacional devido a limitações na área de boot). Como cada setor, geralmente, possui 512 bytes (ou 0,5 kilobyte), a conta seria 2 elevado a 32 (4.294967296) multiplicado por 0,5, que é igual 2.147.483.648 KB ou 2 TB.


Fragmentação

Para os usuários do Windows 95/98, uma recomendação era frequente: utilizar um aplicativo de desfragmentação de disco regularmente. Isso tem um bom motivo: toda vez que um arquivo é apagado, seus clusters ficam disponíveis para nova utilização. Acontece que o sistema operacional sempre ocupa os primeiros clusters livres e, se houver áreas ocupadas no caminho, continuará utilizando os clusters livres subsequentes.

O resultado é que, com o passar do tempo, há fragmentos de dados por todo o disco. Isso torna o acesso aos arquivos mais lento, uma vez que o sistema precisa procurar "pedaço por pedaço". A desfragmentação consegue amenizar este problema porque reorganiza os arquivos em clusters sequenciais, deixando-os acessíveis mais rapidamente.


VFAT

VFAT é a sigla para Virtual File Allocation Table. Trata-se de uma espécie de extensão para FAT16 introduzido no Windows 95 para que este sistema operacional possa suportar arquivos com mais de 11 caracteres no nome. É que, por padrão, o FAT16 limita o tamanho dos nomes para 8 caracteres mais 3 destinados à extensão, por exemplo, daniella.txt. Caso nomes maiores sejam utilizados, estes aparecem de forma abreviada no sistema.

Com o uso do VFAT, as características do FAT16 são mantidas e, ao mesmo tempo, nomes maiores podem ser utilizados sem qualquer dificuldade. Isso porque o VFAT faz o sistema enxergar o nome abreviado, mas guarda o nome original em um área separada.

O FAT32 trabalha com VFAT por padrão.


Finalizando

Para os padrões atuais, os sistemas de arquivo FAT se mostram como ultrapassados. Isso se deve principalmente ao surgimento do sistema de arquivos NTFS, que é mais seguro e eficiente. Não por menos, é utilizado nas versões mais recentes do Windows, como XP, Vista e 7, por exemplo.

Você pode saber mais sobre NTFS nesta matéria, publicada aqui mesmo no InfoWester.

Escrito por - Publicado originalmente em 13_07_2003 - Reescrito em 20_02_2011