domingo, 29 de janeiro de 2012

Sistemas de Arquivos FAT e FAT32

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 de Alocaçã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.

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.


Saiba mais em: InfoWester

Nenhum comentário:

Postar um comentário

DropBox