A Tabela de Alocação de Arquivos (FAT) é um sistema de arquivos desenvolvido para computadores pessoais.
A Tabela de Alocação de Arquivos (File Allocation Table, FAT) é um componente essencial dos sistemas de arquivos utilizados em computadores e dispositivos de armazenamento. Desenvolvida pela Microsoft na década de 1970, a FAT se tornou amplamente adotada e um padrão na indústria de tecnologia. Neste artigo, exploraremos a implementação da FAT, suas diferentes versões, os nomes longos de arquivos e a leitura avançada dessa tabela.
Historia da Tabela de Alocação de Arquivos
Inicialmente criada em 1977 para uso em disquetes, a FAT foi posteriormente adaptada para discos rígidos e outros dispositivos. Atualmente, é frequentemente suportada por sistemas operacionais atuais em computadores pessoais, dispositivos móveis e sistemas incorporados, visando a compatibilidade e a troca de dados entre diferentes sistemas.
Com o aumento na capacidade das unidades de disco, surgiram três variantes principais da FAT: FAT12, FAT16 e FAT32. Além disso, o padrão FAT foi expandido de outras formas, embora sempre preservando a compatibilidade com versões anteriores do software existente. Vale ressaltar que a FAT não é mais o sistema de arquivos padrão para computadores com Microsoft Windows.
Apesar disso, os sistemas de arquivos FAT ainda são amplamente encontrados em disquetes, cartões de memória flash, unidades de estado sólido (incluindo pen drives) e diversos dispositivos portáteis e incorporados. A especificação DCF estabelece a FAT como o sistema de arquivos padrão para câmeras digitais.
O que é o sistema de arquivos FAT?
O sistema de arquivos FAT era usado em todos os sistemas operacionais da Microsoft, desde o MS-DOS até o Windows ME. No entanto, o NTFS é o sistema de arquivos principal atualmente.
Ao longo do tempo, o FAT passou por avanços para suportar unidades de disco rígido maiores e tamanhos de arquivo maiores.
Exploremos as diferentes versões do sistema de arquivos FAT.
Leia também: Como particionar um disco rígido externo no Windows 10 e Windows 11
Conceitos por trás do FAT
O sistema de arquivos utiliza uma tabela de índice armazenada no dispositivo chamada de Tabela de Alocação de Arquivos (FAT) para identificar as áreas de armazenamento de dados associadas a um arquivo. Essa tabela é alocada estaticamente durante a formatação.
A tabela é uma lista encadeada de entradas para cada cluster, que é uma área contígua de armazenamento no disco. Cada entrada contém o número do próximo cluster no arquivo ou um marcador indicando o fim do arquivo, espaço não utilizado ou áreas especiais reservadas no disco. O diretório raiz do disco contém o número do primeiro cluster de cada arquivo no diretório.
O sistema operacional pode percorrer a tabela FAT, procurando o número do cluster de cada parte sucessiva do arquivo no disco, formando uma cadeia de clusters até chegar ao final do arquivo.
Os subdiretórios são implementados como arquivos especiais que contêm as entradas de diretório dos arquivos correspondentes. Cada entrada na lista encadeada FAT é representada por um número fixo de bits: 12, 16 ou 32.
O tamanho máximo de um arquivo ou unidade de disco que pode ser acessado é determinado pelo maior número que pode ser armazenado nas entradas (desconsiderando valores reservados para indicar espaço não alocado ou o fim da lista) multiplicado pelo tamanho do cluster de disco.
Mesmo que apenas um byte de armazenamento seja necessário para estender um arquivo, um cluster inteiro deve ser alocado, o que resulta em desperdício de espaço em disco quando há um grande número de arquivos pequenos, caso sejam utilizados clusters grandes.
Originalmente projetado como um sistema de arquivos de 8 bits, o número máximo de clusters aumenta à medida que a capacidade da unidade de disco aumenta, aumentando assim o número de bits usados para identificar cada cluster. As principais variantes do formato FAT são nomeadas conforme o número de bits em cada elemento da tabela: 12 (FAT12), 16 (FAT16) e 32 (FAT32).
Usos do FAT
O sistema de arquivos FAT é utilizado desde 1977 em computadores e ainda é comumente utilizado em sistemas embarcados.
Os sistemas de arquivos FAT facilitam a troca de dados entre computadores desktop e dispositivos portáteis.
O FAT é o padrão para mídias removíveis, como disquetes, super-disquetes, cartões de memória e unidades flash USB.
Dispositivos portáteis, como PDAs, câmeras digitais, filmadoras, reprodutores de mídia e telefones celulares, são compatíveis com o FAT.
Enquanto o FAT12 é usado em disquetes, o FAT16 e FAT32 são geralmente encontrados em mídias maiores.
O FAT também foi utilizado em discos rígidos durante as eras DOS e Windows 9x. No entanto, a Microsoft introduziu o novo sistema de arquivos NTFS (“New Technology File System”) com o Windows NT em 1993, mas o FAT permaneceu como o padrão para usuários domésticos até a introdução do Windows XP baseado em NT em 2001.
O FAT ainda é utilizado em discos rígidos que precisam ser compartilhados por vários sistemas operacionais, como Windows, Linux e DOS.
Além disso, o Microsoft Windows possui uma ferramenta pré-instalada para converter um sistema de arquivos FAT em NTFS diretamente, sem a necessidade de reescrever todos os arquivos. No entanto, essa conversão não pode ser revertida diretamente.
Muitos sistemas operacionais oferecem suporte a mídias formatadas em FAT por meio de manipuladores de sistema de arquivos integrados ou de terceiros.
O sistema de arquivos DCF adotado por quase todas as câmeras digitais desde 1998 utiliza um sistema de arquivos lógico com nomes de arquivo no formato 8.3 e requer o uso de FAT12, FAT16, FAT32 ou exFAT em sua camada física para garantir compatibilidade.
O FAT também é utilizado internamente na partição do sistema EFI durante a inicialização de computadores compatíveis com EFI. Sistemas de arquivos FAT ocultos também são utilizados na partição de inicialização UEFI em PCs modernos.
Para disquetes, o FAT foi padronizado como ECMA-107 e ISO/IEC 9293:1994 (substituindo o ISO 9293:1987). Esses padrões cobrem o FAT12 e FAT16 com suporte apenas a nomes curtos no formato 8.3, enquanto os nomes de arquivo longos com VFAT foram parcialmente patenteados.
Nomenclatura
O termo “Sistema de Arquivos FAT” refere-se ao FAT12, FAT16 e FAT32. Os utilitários do sistema operacional podem não identificar qual versão será usada para formatar um dispositivo.
“FAT16” refere-se ao grupo original de sistemas de arquivos FAT com entradas de cluster de 16 bits e também às variantes posteriores (FAT16B) com entradas de setor de 32 bits. Os valores armazenados no bloco de parâmetros do disco podem ser utilizados para identificar a estrutura do arquivo.
“VFAT” é uma extensão opcional para nomes de arquivo longos que pode ser usada em qualquer sistema de arquivos FAT. Volumes que utilizam nomes de arquivo longos VFAT também podem ser lidos por sistemas operacionais que não suportam a extensão VFAT.
O tipo geral de sistema de arquivos (FAT12, FAT16 ou FAT32) é determinado pela largura das entradas de cluster no FAT. Os valores limites específicos para o número de clusters, armazenados no bloco de parâmetros do disco, definem qual tipo de FAT é utilizado. As propriedades do dispositivo de armazenamento, como tamanho, formato do bloco de parâmetros ou nome do sistema de arquivos, não podem ser usadas de forma confiável para determinar o tipo do sistema de arquivos.
Um volume FAT12 ou FAT16 pode ser definido utilizando um “FAT32 EBPB” normalmente utilizado para volumes FAT32. Os IDs de partição não são utilizados para especificar o tipo de sistema de arquivos por si só.
Leia também: Seek Time: O que significa o tempo de busca de um disco rígido?
Versões da Tabela de Alocação de Arquivos (FAT):
A Tabela de Alocação de Arquivos (FAT) passou por diferentes versões ao longo dos anos, cada uma com suas próprias características e limitações. Exploremos as principais versões da FAT:
FAT12 (tabela de alocação de arquivos de 12 bits)
A FAT12 foi a primeira versão amplamente adotada da FAT. Foi desenvolvida para uso em disquetes e tinha capacidade máxima de armazenamento de 32 megabytes (MB). Essa versão utilizava uma tabela de alocação de 12 bits para identificar clusters ocupados e livres. A FAT12 tinha um número máximo de aproximadamente 4.096 arquivos, devido à limitação de 12 bits para endereçamento dos clusters.
O FAT12 foi introduzido em 1980 juntamente com as primeiras versões do DOS. Era o sistema de arquivos primário dos sistemas operacionais da Microsoft no MS-DOS 3.30 e também era utilizado na maioria dos sistemas no MS-DOS 4.0. Atualmente, ainda é utilizado em disquetes ocasionais.
O FAT12 suporta tamanhos de unidades e arquivos de até 16 MB usando clusters de 4 KB ou 32 MB usando 8 KB, com um número máximo de 4.084 arquivos em um único volume (ao usar clusters de 8 KB). Os nomes de arquivo no FAT12 têm um limite máximo de 8 caracteres, mais 3 para a extensão.
No FAT12, foram introduzidos vários atributos de arquivo, incluindo oculto, somente leitura, sistema e rótulo de volume.
Antes do FAT12, em 1977, foi introduzido o FAT8, a primeira versão real da FAT, mas com uso limitado em alguns sistemas de computador da época.
FAT16 (tabela de alocação de arquivos de 16 bits)
A FAT16 foi uma evolução do FAT12 e foi adotada principalmente em discos rígidos de menor capacidade. A capacidade máxima de armazenamento aumentou para 2 gigabytes (GB), tornando-se uma opção mais viável para dispositivos de maior tamanho. A FAT16 utilizava uma tabela de alocação de 16 bits, permitindo o endereçamento de até 65.536 clusters. O número máximo de arquivos suportados também aumentou consideravelmente em comparação com o FAT12.
O FAT16 foi introduzido pela primeira vez em 1984 no PC DOS 3.0 e no MS-DOS 3.0. Uma versão aprimorada, chamada FAT16B, era o sistema de arquivos primário do MS-DOS 4.0 até o MS-DOS 6.22. A partir do MS-DOS 7.0 e Windows 95, uma versão melhorada chamada FAT16X foi utilizada. O tamanho máximo de uma unidade no formato FAT16 pode variar de 2 GB a 16 GB, dependendo do sistema operacional e do tamanho do cluster usado.
Os tamanhos de arquivo nas unidades FAT16 atingem no máximo 4 GB com o suporte a arquivos grandes ativado ou 2 GB sem ele. O número máximo de arquivos em um volume FAT16 é 65.536. Os nomes de arquivos no FAT16 também são limitados a 8 + 3 caracteres, mas foram estendidos para 255 caracteres a partir do Windows 95. O atributo de arquivo morto foi introduzido no FAT16.
FAT32 (tabela de alocação de arquivos de 32 bits)
O FAT32 é a versão mais recente da FAT e é amplamente utilizada atualmente. Foi desenvolvido para superar as limitações de capacidade do FAT16, permitindo o suporte a dispositivos de armazenamento com capacidades de até 2 terabytes (TB). A FAT32 utiliza uma tabela de alocação de 32 bits, permitindo um endereçamento muito maior de clusters.
O número máximo de arquivos suportados pela FAT32 varia dependendo da implementação específica e do tamanho dos clusters utilizados, mas geralmente é significativamente maior em comparação com as versões anteriores da FAT.
O FAT32 foi introduzido em 1996 para usuários do Windows 95 OSR2 / MS-DOS 7.1 e foi o sistema de arquivos principal para versões de consumidor do Windows até o Windows ME. O FAT32 suporta tamanhos de unidade básicos de até 2 TB ou até 16 TB com clusters de 64 KB.
Os tamanhos de arquivo nas unidades FAT32 atingem no máximo 4 GB com o suporte a arquivos grandes ativado ou 2 GB sem ele. Uma versão modificada chamada FAT32+ suporta arquivos com tamanho próximo a 256 GB. O número máximo de arquivos em um volume FAT32 pode chegar a até 268.173.300, dependendo do uso de clusters de 32 KB.
exFAT (tabela de alocação de arquivos estendida)
O exFAT é um sistema de arquivos desenvolvido pela Microsoft como uma evolução do FAT, projetado para superar as limitações de capacidade de armazenamento impostas pelo FAT32. Com o exFAT, é possível suportar dispositivos de armazenamento com capacidades muito maiores, atingindo até 128 petabytes (PB). Além disso, o exFAT oferece suporte a arquivos individuais de até 16 exabytes (EB). Essa capacidade expandida torna o exFAT uma escolha popular para dispositivos como cartões de memória de alta capacidade e unidades flash USB.
O exFAT foi introduzido em 2006 e destina-se principalmente ao uso em dispositivos portáteis de mídia, como pen drives e cartões SDHC e SDXC. Ele suporta oficialmente dispositivos de armazenamento de mídia portáteis de até 512 TiB de tamanho, mas teoricamente poderia suportar unidades de até 64 ZiB.
O exFAT oferece suporte a nomes de arquivos de até 255 caracteres e até 2.796.202 arquivos por diretório. É suportado por quase todas as versões do Windows, Mac OS X (10.6.5+) e muitos dispositivos de TV, mídia e outros dispositivos.
NTFS (New Technology File System):
O NTFS é um sistema de arquivos desenvolvido pela Microsoft como uma alternativa avançada à FAT. Ele foi introduzido inicialmente no Windows NT 3.1 e desde então tem sido o sistema de arquivos padrão para as versões mais recentes do Windows.
O NTFS oferece recursos avançados, como suporte a permissões de arquivo e diretório, criptografia, compactação de arquivos e registro de transações. Essas características tornam o NTFS um sistema de arquivos mais robusto e seguro em comparação com as versões mais antigas da FAT. Além disso, o NTFS oferece suporte a capacidades de armazenamento extremamente grandes, chegando a 16 exabytes (EB).
Em resumo, as versões da FAT, como a FAT12, FAT16 e FAT32, evoluíram ao longo dos anos para suportar dispositivos de armazenamento de diferentes capacidades. Além disso, sistemas de arquivos mais avançados, como o exFAT e o NTFS, foram desenvolvidos para atender às demandas de armazenamento e recursos mais sofisticados dos sistemas modernos.
Leia também: Como habilitar a criptografia de disco completo no Windows
Tabelas de comparação FAT
Comparação de versões da FAT, exFAT e NTFS
Versão | Capacidade máxima de armazenamento | Número máximo de arquivos |
---|---|---|
FAT12 | 32 MB | 4.096 |
FAT16 | 2 GB | 65.536 |
FAT32 | 2 TB | Varia |
exFAT | 128 PB | Varia |
NTFS | 16 EB | Varia |
Comparação das versões da FAT, exFAT e NTFS
Versão | Capacidade máxima de armazenamento | Número máximo de arquivos |
---|---|---|
FAT12 | 32 MB | 4.096 |
FAT16 | 2 GB | 65.536 |
FAT32 | 2 TB | Varia |
exFAT | 128 PB | Varia |
NTFS | 16 EB | Varia |
Essa expansão da tabela permite comparar a capacidade máxima de armazenamento e o número máximo de arquivos suportados pela FAT, exFAT e NTFS. É importante ressaltar que o número máximo de arquivos pode variar dependendo da implementação específica e das características do sistema de arquivos utilizado. Portanto, os valores indicados na tabela são aproximados e servem como uma referência geral.
Nomes Extensos de Arquivos na FAT
Originalmente, a FAT suportava apenas nomes curtos de arquivos (8 caracteres para o nome e 3 caracteres para a extensão).
No entanto, em versões mais recentes, foi introduzido um recurso chamado Nomes Extensos de Arquivos (Long File Names, LFN), que permitia o uso de nomes de arquivos mais longos e caracteres especiais.
Os nomes extensos de arquivos são armazenados em um formato especial na FAT, permitindo que os sistemas operacionais modernos exibam e manipulem esses nomes adequadamente.
Movendo arquivos de NTFS para sistemas FAT
A criptografia de arquivos, a compactação de arquivos, as permissões de objeto, as cotas de disco e o atributo de arquivo indexado estão disponíveis apenas no sistema de arquivos NTFS, não no FAT. Outros atributos mencionados anteriormente também estão disponíveis no NTFS.
No entanto, se você colocar um arquivo criptografado de um volume NTFS em um espaço formatado em FAT, o arquivo perderá sua criptografia. Isso significa que o arquivo poderá ser utilizado como um arquivo normal e não criptografado.
A descriptografia de um arquivo dessa maneira só é possível para o usuário original que criptografou o arquivo ou para outro usuário que tenha recebido permissão do proprietário original.
Da mesma forma, como o FAT não suporta compactação, um arquivo compactado será descompactado automaticamente ao ser copiado de um volume NTFS para um volume FAT.
Por exemplo, se você copiar um arquivo compactado de um disco rígido NTFS para um disquete FAT, o arquivo será descompactado automaticamente antes de ser salvo no disquete, pois o sistema de arquivos FAT na mídia de destino não possui capacidade para armazenar arquivos compactados.
Leia também: Windows: Desative as verificações de pouco espaço em disco
Leitura avançada na Tabela de Alocação de Arquivos
A leitura da FAT é essencial para o funcionamento adequado do sistema de arquivos. Os sistemas operacionais consultam a FAT para encontrar os clusters associados a um arquivo específico. Ao ler a FAT, o sistema operacional identifica os clusters ocupados por arquivos e os clusters livres. Essas informações são fundamentais para a organização e recuperação de dados armazenados em um dispositivo de armazenamento.
Embora seja além do escopo desta discussão abordar detalhes sobre a estruturação das unidades formatadas em FAT12, FAT16 e FAT32, se você tiver interesse em aprender mais, recomenda-se a leitura do livro “The FAT Filesystems“, escrito por Andries E. Brouwer.
Em suma, a Tabela de Alocação de Arquivos (FAT) é um sistema de arquivos desenvolvido pela Microsoft e amplamente adotado na indústria de tecnologia. Ao longo dos anos, passou por diferentes versões, como FAT12, FAT16, FAT32 e exFAT, cada uma com suas próprias características e limitações. O FAT foi originalmente usado em disquetes e posteriormente adaptado para discos rígidos e outros dispositivos de armazenamento.
Embora não seja mais o sistema de arquivos padrão para o Windows, ainda é amplamente utilizado em dispositivos portáteis e incorporados, como cartões de memória, unidades flash USB, câmeras digitais e telefones celulares.
O FAT facilita a troca de dados entre computadores desktop e dispositivos portáteis, oferecendo compatibilidade entre diferentes sistemas operacionais. Com o surgimento do exFAT, as capacidades de armazenamento foram significativamente expandidas, permitindo o suporte a dispositivos com capacidades de até 128 petabytes.