Sistema de armazenamento de ficheiros FAT
16
Genericamente,
associa-se o nome FAT a um sistema de armazenamento de ficheiros
concebido no final dos anos setenta do século vinte e utilizado desde
1981 até ao presente. Ao longo deste período de tempo, existiram três
variantes do sistema de armazenamento de ficheiros FAT: FAT 12, FAT 16 e
FAT 32. Este artigo é dedicado ao sistema de armazenamento de ficheiros
FAT 16.
Introdução
16-bit File Allocation Table (with
16-bit sector entries) de seu nome completo, o sistema de
armazenamento de ficheiros FAT 16 foi
introduzida
em finais de 1984 com os sistemas operativos MS-DOS 3.0 da Microsoft e
PC DOS 3.0 da IBM. O FAT 16 foi sofrendo algumas alterações ao longo do
tempo, com o intuito de poder tirar partido de discos com capacidades
cada vezes maiores.
Distinguia-se
da sua antecessora, a FAT 12, por usar palavras com 16 bits em ambas as
cópias da sua FAT. A versão inicial mantinha a limitação de 32 Mega
Bytes como a maior partição que era possível criar; esta limitação viria
a se ultrapassada anos mais tarde e, aquilo que hoje conhecemos como FAT
16, permite criar partições com o tamanho máximo de 2 Giga Bytes.
Anatomia de uma partição formatada como
FAT 16
O sistema de armazenamento de ficheiros
FAT 16 é constituído por quatro secções: Boot Sector, File
Allocation Tables (FAT), Directoria da Root e Área de Dados.

Figura 1. Anatomia de uma partição FAT 16
Boot Sector
É o primeiro sector de uma partição
formatada como FAT 16. Basicamente, contém um conjunto de parâmetros que
especificam as características da partição e um pequeno programa (bootstarp
code) responsável pelo carregamento e arranque do sistema operativo
(no caso de se tratar de uma partição com sistema operativo, ou pela
exibição no ecrã de uma mensagem indicando que a partição não contém
sistema operativo).
Estrutura típica do Boot Sector
Pode considerar-se que o Boot Sector
é constituído por cinco secções independentes: uma instrução de salto,
que ocupa os três primeiros bytes; um conjunto de oito bytes, designados
OEM ID, que, normalmente, identificam o sistema operativo que
formatou a partição; uma tabela com as características da partição,
situada ao longo dos próximos 51 bytes, designada BIOS Parameter
Block, normalmente abreviada para BPB; o programa responsável pelo
início do carregamento do sistema operativo, ou pela exibição de uma
mensagem no monitor informando que a partição não tem sistema operativo,
conhecido, em inglês, por bootstrap code; finalmente, uma
“assinatura” composta por dois bytes com os valores hexadecimal 0x55 e
0xAA.
|
Endereço |
Descrição |
Dimensão |
|
Decimal |
Hexa |
|
0 |
0x000 |
Instrução de salto |
3 bytes |
|
3 |
0x003 |
OEM ID |
8 bytes |
|
11 |
0x00B |
BIOS Parameter Block
(BPB) |
51 bytes |
|
62 |
0x03E |
Código inicial (bootstrap
code) |
448 bytes |
|
510 |
0x1FE |
Assinatura |
2 bytes |
Tabela 1. Composição do
Boot Sector
A instrução de salto destina-se a
transferir o controlo, de um modo geral, para o código inicial, e
é habitual ser uma das instruções de salto da família Intel 86, muitas
vezes um JMP SHORT 0x3E (a que correspondem os bytes 0xEB e 0x3C),
seguida por uma instrução NOP (0x90) para perfazer os três bytes
requeridos.
O OEM ID é um simples conjunto de
oito caracteres que identifica o sistema operativo que formatou a
partição. Por exemplo, uma partição formatada pelo Windows XP tem
como OEM ID MSDOS5.0, uma partição formatada em Linux tem
como OEM ID mkfs.fat.
O BPB é uma tabela com diversa informação
sobre as características da partição, como por exemplo, o número de
bytes de cada sector, o número de sectores por pista, o número de
cabeças do dispositivo, etc… Ao longo do tempo, diversas versões do
MS-DOS foram introduzindo pequenas alterações no BPB, de forma a poderem
contemplar partições com maiores dimensões, acabando por dar origem ao
que ficou conhecido o Extended BIOS Parameter Block (EBPB).
O código inicial, em inglês bootstrap
code, é um pequeno programa responsável pelo carregamento para
memória e passagem de controlo para o sistema operativo. No caso da
partição não conter sistema operativo, responsabiliza-se por enviar
mensagens elucidativas para o monitor e bloqueia a máquina.
Finalmente, a assinatura é sempre
constituída pelos valores 0x55 e 0xAA.
BIOS Parameter Block (BPB)
As tabelas que se seguem apresentam a
composição típica do BPB e os novos campos acrescentados pelo EBPB. Os
endereços indicados têm como base o início do Boot Sector.
|
Endereço |
Descrição |
Dimensão |
|
Decimal |
Hexa |
|
11 |
0x0B |
Número de bytes por sector |
2 bytes |
|
13 |
0x0D |
Número de sectores por
cluster |
1 byte |
|
14 |
0x0E |
Número de sectores
reservados |
2 bytes |
|
16 |
0x10 |
Número de cópias da FAT |
1 byte |
|
17 |
0x11 |
Número máximo de entradas na
directoria da Root |
2 bytes |
|
19 |
0x13 |
Número de sectores da
partição |
2 bytes |
|
21 |
0x15 |
Media Descriptor Byte |
1 byte |
|
22 |
0x16 |
Número de sectores de cada
cópia da FAT |
2 bytes |
|
24 |
0x18 |
Número de sectores por pista |
2 bytes |
|
26 |
0x1A |
Número de cabeças do
dispositivo |
2 bytes |
|
28 |
0x1C |
Número de sectores
escondidos da partição |
4 bytes |
|
32 |
0x20 |
Número grande de sectores da
partição |
4 bytes |
Tabela 2.
Composição do BIOS Parameter Block (BPB).
|
Endereço |
Descrição |
Dimensão |
|
Decimal |
Hexa |
|
36 |
0x24 |
Nome lógico da partição (Drive
Name) |
1 byte |
|
37 |
0x25 |
Reservado |
1 byte |
|
38 |
0x26 |
Extended Boot Signature |
1 byte |
|
39 |
0x27 |
Número de série da partição |
4 bytes |
|
43 |
0x2B |
Nome da partição |
11 bytes |
|
54 |
0x36 |
Nome da FAT |
8 bytes |
Tabela 3.
Composição do Extended BIOS Parameter Block (EBPB).
Antes de apresentar uma descrição mais
detalhada de cada um destes campos, é de toda a conveniência referir que
os valores utilizam a notação Little Endian, ou seja, o primeiro
valor que aparece corresponde ao valor de menor peso.
Número de bytes por sector
Indica o número de bytes que cada sector
da partição tem. Normalmente são 512 bytes, embora nada impeça um valor
diferente.
Número de sectores por cluster
Indica o número de sectores que compõe
cada cluster. Como se verá posteriormente, o número de
clusters de uma partição é limitado pelo tamanho das suas FATs. Um
subterfúgio usado para conseguir formatar partições de maior dimensão
consiste em aumentar este valor.
Número de sectores reservados
Indica o número de sectores que se
encontram entre o início da partição e o primeiro sector da primeira
cópia da FAT. Este valor é, no mínimo, 1 (o próprio Boot Sector),
mas é frequente encontrar o valor 2 (o que significa que depois do
Boot Sector vai estar um sector que nunca será usado).
Número de cópias da FAT
Especifica quantas cópias da FAT existem.
É muito pouco provável que este valor seja diferente de 2. Seja como
for, terá de ser, pelo menos 1!
Número máximo de entradas na directoria
da Root
Este campo indica quantos ficheiros e
directorias (as directorias, que não a da Root, na verdade não
passam de simples ficheiros) podem existir na directoria da Root
da partição.
Ao contrário das restantes directorias,
que podem conter um número de ficheiros limitado apenas pela capacidade
da partição, a directoria da Root está limitada por este valor.
Ao tenta colocar mais um ficheiro do que o permitido na directoria da
Root, mesmo que exista espaço disponível, o sistema operativo não o
permite e informa-o por intermédio de uma mensagem de erro.
Número de sectores da partição e número
grande de sectores da partição
Para partições com menos 65.535 sectores
(32 Mega Bytes para partições com 512 bytes por sector), este campo
indica o número de sectores que a partição tem. Se a partição tiver um
número de sectores superior, o campo tem o valor 0 e o número de
sectores da partição está no campo “Número grande de sectores da
partição”.
Media Descriptor Byte
Identifica o tipo de dispositivo, isto é,
indica se o dispositivo é uma disquete ou um disco rígido. As pen
e cartões de memória são identificadas como discos rígidos.
Este byte é interpretado bit a bit, tendo
os quatro bits de maior peso sempre o valor ‘1’ e os cinco bits de menor
peso o significado que a Tabela 4. Significado dos bits do Media
Descriptor Byte.
apresenta:
|
bit |
Significado |
|
Com o valor ‘1’ |
Com o valor ‘0’ |
|
0 |
Dispositivo com 2 lados |
Dispositivo sem 2 lados |
|
1 |
Tem 8 sectores por pista |
Não tem 8 sectores por pista |
|
2 |
Dispositivo é removível |
Dispositivo não é removível |
Tabela 4.
Significado dos bits do Media Descriptor Byte.
A Tabela 5. Possíveis valores do
Media Descriptor Byte.
apresenta os diversos valores que este campo pode ter:
|
MDB |
Dispositivo |
|
0xF0 |
Disquete de 3,5” de alta
densidade (1,44MB e 2,88 MB) |
|
0xF9 |
Disquete de 3,5” (720 KB) e
5,25” de alta densidade (1,2 MB) |
|
0xFD |
Disquete de 5,25” (360 KB) |
|
0xFF |
Disquete de 5,25” (320 KB) |
|
0xFC |
Disquete de 5,25” (180 KB) |
|
0xFE |
Disquete de 5,25” (160 KB) |
|
0xF8 |
Disco
rígido |
Tabela 5.
Possíveis valores do Media Descriptor Byte.
Número de sectores de cada cópia da FAT
Como seria de esperar, este campo indica o
número de sectores destinado a cada uma das cópias da FAT, ou seja, a
dimensão de cada cópia da FAT.
O valor deste campo, juntamente com o
valor dos campos “Número de cópias da FAT” e “Número de sectores
reservados” permite determinar o sector onde começa a directoria da
Root.
Número de sectores por pista, número de
cabeças do dispositivo
Os valores destes dois campos correspondem
aos respectivos valores físicos do dispositivo.
Nome lógico da partição (Drive Name)
O valor deste campo é 0x00 para as
disquetes, 0x80 para os discos rígidos.
Reservado
Inicialmente, este campo era usado para
guardar o número do cilindro do dispositivo onde se encontrava o Boot
Sector. Posteriormente, o Windows NT passou a usar este campo
para guardar dois sinalizadores (flags) que indicavam que deveria
ser executada uma análise do disco, em inglês scan disk (bit de
menor peso), ou uma análise de superfície, em inglês surface analysis
(segundo bit de menor peso), logo após o arranque do sistema operativo.
Exteded Boot Signature
Quando este campo tem o valor 0x29 indica
que os três campos que seguem existem.
Número de série da partição
O valor guardado neste campo é um número
aleatório que uma vez combinado com o valor do campo “Nome da partição”
permite determinar se se trata de uma partição existente num dispositivo
removível (disquete) e se o dispositivo correcto está introduzido no
leitor (drive).
Nome da partição
Este campo contém uma cópia do nome
atribuído à partição durante o processo de formatação, ou posteriormente
alterado, com o comando adequado do sistema operativo.
Nome da FAT
Este campo contém o nome “FAT16 “; os
últimos três caracteres são o carácter espaço, de forma a preencher um
total de exactamente oito bytes.
File Allocation Table (FAT)
A FAT, palavra formada pelas três iniciais
das palavras inglesas File Allocation Table, não é mais do que
uma simples e unidimensional tabela onde, cada um dos seus elementos é
um número de 16 b bits que representa um cluster da partição. O
valor de cada elemento da FAT tem o significado que se indica na Tabela
6. Possíveis valores dos elementos da FAT e respectivo significado..
|
Valor |
Significado |
|
0x0000 |
Cluster
livre |
|
0x001 e 0x002 |
Valores não utilizados e não
permitidos |
|
0x0003 a 0xFFEF |
O cluster
faz parte de um ficheiro; o valor é o endereço do cluster
seguinte |
|
0xFFF0 a 0xFFF6 |
Cluster
reservado |
|
0xFFF7 |
Cluster
danificado |
|
0xFFF8 a 0xFFFF |
Último
cluster de um ficheiro |
Tabela 5. Possíveis valores dos elementos
da FAT e respectivo significado.
O sistema de armazenamento de ficheiros
FAT 16 utiliza duas cópias da FAT, iniciando-se a primeira cópia no
sector que segue ao último sector reservado e iniciando-se a segunda
cópia no sector que segue ao último sector ocupado pela primeira cópia.
Por definição, o valor da FAT para o
primeiro cluster (cluster 0) é 0xFFxx, onde xx é o valor
do Media Descriptor Byte do BPB. O valor do segundo cluster
(cluster 1) é um final de ficheiro (0xFFFF); no entanto, os dois
bits de maior peso podem ser utilizados para indicar que a partição pode
estar corrompida por não ter sido correctamente desmontada (bit de maior
peso a ‘0’), ou que houve um erro de leitura / escrita da última vez que
a partição foi montada (segundo bit de maior peso a ‘0’). O primeiro
cluster de dados é o cluster 2.
Directoria da Root
A directoria da Root é a directoria
de topo, ou seja, é a directoria que contém todas as demais directorias
e ficheiros. Ao contrário de todas as restantes directorias que venham a
ser criadas, a directoria da Root é criada automaticamente pelo
sistema operativo e não pode ser destruída (excepto por uma operação de
formatação, o que irá destruir todos os dados existentes).
No sistema de armazenamento de ficheiros
FAT 16, a directoria da Root tem capacidade para albergar um
número fixo de outras directorias e ficheiros, que passaremos a designar
por entradas. O número de entradas que a directoria da Root pode
conter encontra-se no campo “Número máximo de entradas da directoria da
Root” do BIOS Parameter Block (BPB).
Cada
entrada da directoria da Root é constituída por trinta e dois
bytes, cujo significado se apresenta na Tabela 7.
Composição da cada entrada da directoria da Root..
|
Endereço |
Descrição |
Dimensão |
|
Decimal |
Hexa |
|
0 |
0x00 |
Nome da
entrada |
8 bytes |
|
8 |
0x08 |
Extensão da
entrada |
3 bytes |
|
11 |
0x0B |
Atributos da
entrada |
1 byte |
|
12 |
0x0C |
Reservado |
1 byte |
|
13 |
0x0D |
Criação
(milissegundos vezes 10) |
1 byte |
|
14 |
0x0E |
Hora de
criação |
2 bytes |
|
16 |
0x10 |
Data de
criação |
2 bytes |
|
18 |
0x12 |
Data em que
foi acedida pela última vez |
2 bytes |
|
20 |
0x14 |
Reservado |
2 bytes |
|
22 |
0x16 |
Hora em que
foi gravada pela última vez |
2 bytes |
|
24 |
0x18 |
Data em que
foi gravada pela última vez |
2 bytes |
|
26 |
0x1A |
Endereço do
cluster inicial |
2 bytes |
|
28 |
0x1C |
Dimensão (em
bytes) |
4 bytes |
Tabela 7. Composição da
cada entrada da directoria da Root.
Tal acontece com o BPB, também aqui, os
valores usam a notação little endian, ou seja, o valor que surge
primeiro é o de menor peso.
Nome da entrada
Este campo contém o nome do ficheiro ou
directoria e pode conter um máximo de oito caracteres. Se o nome
utilizar menos de oito caracteres, o sistema preenche automaticamente os
restantes com o carácter espaço.
Quando um ficheiro ou directoria são
apagados, o sistema operativo substitui o primeiro carácter do ‘Nome’
pelo carácter 0xE5 (e preenche a 0x0000 os elementos das duas FAT que a
entrada utilizava).
Extensão da entrada
Três bytes destinados a guardarem a
extensão do ficheiro ou directoria. Tal como se verifica com o “Nome”,
também neste caso o sistema preenche com o carácter espaço, os bytes não
utilizados.
Atributos da entrada
Este campo contém os atributos do ficheiro
ou directoria. Cada bit deste valor representa um atributo. A Tabela 8.
Significado de cada bit do campo Atributos da entrada.
apresenta o significado de cada um dos seus bits..
|
Bit |
Atributo |
Significado |
|
7 |
- |
Reservado, normalmente ‘0’ |
|
6 |
- |
Reservado, normalmente ’0’ |
|
5 |
(A)rquivo |
Utilizado por programas
capazes de realizar cópias de segurança (Backup e
Restore) |
|
4 |
(D)irectoria |
É uma directoria (e não um
ficheiro) |
|
3 |
(V)olume |
A entrada contém o nome da
partição, não é ficheiro nem directoria |
|
2 |
(S)istema |
Trata-se de um ficheiro do
sistema operativo |
|
1 |
(H)idden |
Ficheiro
ou directoria escondido |
|
0 |
(R)ead
Only |
Ficheiro
ou directoria apenas pode ser lido, não pode ser alterado
nem apagado |
Tabela 8.
Significado de cada bit do
campo Atributos da entrada.
Criação (milissegundos vezes 10)
Este byte guarda o número de milissegundos
vezes dez, ou seja, centésimos de segundo) da hora em que o ficheiro ou
directoria foi criado.
Hora de criação
Contém
a hora, minuto e segundo em que o ficheiro ou directoria foi criado. O
formato usado para guardar os valores é o que se ilustra na Tabela 9.
Formato para valores do tipo hora..
|
Bits |
Significado |
|
11 a 15 |
Horas (0 a 23) |
|
5 a 10 |
Minutos (0 a 59) |
|
0 a 4 |
Segundos ÷ 2 (0 a 29) |
Tabela 9.
Formato para valores do tipo hora.
Data de criação
Data de criação do ficheiro ou directoria.
A REF _Ref415060793 \h Tabela 10. Formato para valores do tipo data.
apresenta o formato usado para guardar os valores.
|
Bits |
Significado |
|
9 a 15 |
Ano (1980 + valor) |
|
5 a 8 |
Mês (1 a 12) |
|
0 a 4 |
Dia (1 a 31) |
Tabela 10.
Formato para valores do tipo data.
Data em que foi acedido pela última vez
Regista a data em que o ficheiro foi
acedido (lido ou escrito pela última vez. Se o último acesso foi uma
escrita, então este valor é igual ao valor do campo “Data em que foi
alterado pela última vez”. Os valores são guardados no formato que a
Tabela 10. Formato para valores do tipo data.
ilustra.
Hora em que foi alterado pela última
vez
Regista
a hora em que o ficheiro foi alterado pela última vez. Os valores são
guardados no formato que se ilustra na Tabela 9.
Formato para valores do tipo hora..
Data em que foi alterado pela última
vez
Regista a data em que o ficheiro foi
alterado pela última vez. Os valores são guardados no formato que se
ilustra na Tabela 10. Formato para valores do tipo data..
Endereço do cluster inicial
Contém o valor do cluster onde se
encontra o início do ficheiro ou directoria.
Dimensão (em bytes)
Simplesmente o número de bytes do
ficheiro. Se a entrada não é um ficheiro (pode ser uma directoria ou o
nome da partição), o valor é 0x00000000.
Área de Dados
A área de dados é todo o resto da
partição, isto é, todos os clusters que vão desde o cluster
número 2 (recorde-se que os dois primeiros clusters estão
reservados e têm significados especiais) até ao último cluster da
partição.
Exemplo Prático – analise de uma partição
FAT 16
Para concluir este documento, vamos
analisar um cartão Memory Stick com a capacidade de 16 MB contendo uma
única partição formatada como FAT 16. A directoria da Root contem
uma directoria e dois ficheiros, como se pode observar na Figura 2.
Directoria da Root.

Figura
2.
Directoria da Root
do dispositivo.
A Figura 3. O Boot Sector do
dispositivo.
apresenta o sector inicial, o Boot Sector, deste dispositivo.
Podem identificar-se, a partir do endereço 0x00 (realçado a azul claro)
os três bytes que formam a instrução de salto; entre os endereços 0x0B e
até 0x3D (realçado a amarelo) o BPB; a assinatura nos dois últimos bytes
(realçados a azul claro).

Figura 3.
O Boot Sector do dispositivo.
Podem agora extrair-se do BPB as
informações que interessam para que se possa navegar pela partição. A
Tabela 11. Alguns dos valores do BPB importantes para navegar pela
partição.
resume os valores mais importantes.
|
Endereço |
Significado |
Valor |
|
0x0B e 0x0C |
Número de bytes por sector |
0x0200 = 512 |
|
0x0D |
Número de sectores por
cluster |
0x04 = 4 |
|
0x0E e 0x0F |
Número de sectores
reservados |
0x0001 = 1 |
|
0x10 |
Número de cópias da FAT |
0x02 = 2 |
|
0x11 e 0x12 |
Número de entradas da
directoria da Root |
0x0200 = 512 |
|
0x16 e 0x17 |
Número de sectores de cada
cópia da FAT |
0x0020 = 32 |
Tabela 11.
Alguns dos valores do BPB importantes para navegar pela partição.
Com base nestes valores pode determinar-se
que:
-
a primeira cópia da FAT encontra-se a
partir do sector 1 (número de sectores reservados),
-
a segunda cópia da FAT encontra-se a
partir do sector 33 (sector inicial da primeira cópia da FAT +
número de sectores de cada cópia da FAT),
-
a directoria da Root tem início
no sector 65 (sector inicial da segunda cópia da FAT + número de
sectores de cada cópia da FAT),
-
o primeiro cluster de dados (cluster
2) ocupa 4 sectores a partir do sector 97 (97, 98, 99 e 100).
A Figura 4. Os primeiros bytes da
directoria da Root.
apresenta os bytes iniciais da directoria da Root:

Figura 4.
Os primeiros bytes da directoria da Root.
Pode ver-se (realçado a amarelo) o nome e
extensão dos dois ficheiros e da directoria; repare-se que os caracteres
não usados estão preenchidos com espaços (valor 0x20). Realçado a
vermelho está o byte com os atributos; as duas primeiras entradas tem
simplesmente o atributo “Arquivo”, a directoria, como não podia deixar
de ser tem o atributo “Directoria”. A azul realça-se o cluster
inicial de cada entrada; o ficheiro “LINKS.TXT” começa no cluster
3, o ficheiro “PORTASER.JAR” no cluster 4 e a directoria no
cluster 2. Pode ainda ver-se que existiu uma quarta entrada, uma
directoria, que foi apagada (o nome começa pelo carácter 0xE5) e que
teria como nome um primeiro carácter que desconhecemos seguido pelos
caracters ‘MAGENS’.
Para continuar a navegação, é necessário
examinar uma das cópias da FAT. A Figura 5.
Os primeiros bytes da primeira cópia da
FAT.
apresenta os primeiros bytes da primeira cópia da FAT:

Figura 5. Os primeiros bytes da
primeira cópia da FAT
Os dois primeiros clusters são
reservados para o sistema e os seus índices na FAT tem os valores
esperados: oxFFF8 para o cluster 0 (F8 é o Media Descriptor
Byte – o cartão é considerado um disco rígido) e 0xFFFF para o
cluster 1.
Com se viu acima, o ficheiro “LINKS.TXT”
tem inicio no cluster 3 (realçado a verde); o valor da FAT para o
cluster 3 é 0xFFFF o que significa que este ficheiro ocupa apenas
um cluster. O Ficheiro “PORTASER.JAR” tem inicio no cluster
4; a entrada da FAT para o cluster 4 é 0x0005 o significa que o
ficheiro continua no cluster 5; a entrada da FAT para o
cluster 5 é 0x0006 o que significa que o ficheiro continua no
cluster 6; continuando a seguir de cluster em cluster,
verifica-se que o ficheiro termina no cluster 173, onde se
encontra o valor 0xFFFF.
Definições
FAT - File Allocation Table
A palavra FAT tem origem nas iniciais das
três palavras inglesas File Allocation Table, e que pode
traduzir-se para português como Tabela de Distribuição de Ficheiros.
Como qualquer outra tabela, a FAT não é
mais do que um conjunto de elementos organizados de acordo com uma
determinada sequência. O acesso a cada um dos elementos faz-se
recorrendo à sua posição na tabela, ou seja, ao seu índice. Cada
elemento é um número inteiro positivo.
Para uma melhor compreensão, imagine-se
que a tabela à esquerda é parte de uma FAT. A primeira coluna representa
o índice de cada elemento da tabela (o exemplo apresenta os elementos
com índice compreendido entre 2 e 10); a segunda coluna contém
respectivo o valor.
Havendo um ficheiro que está gravado a
partir do cluster 4, a FAT permite-nos concluir que esse ficheiro
ocupa os clusters 4, 5, 6, 9 e 8 por esta mesma ordem. Os
clusters 2, 3, 7 e 9 estão livres.
|
Índice |
Valor |
|
2 |
Livre |
|
3 |
Livre |
|
4 |
5 |
|
5 |
6 |
|
6 |
9 |
|
7 |
Livre |
|
8 |
Fim |
|
9 |
8 |
|
10 |
Livre |
FAT – Sistema de armazenamento de
ficheiros
A sigla FAT é igualmente usada para
designar um sistema de armazenamento de ficheiros concebido no final dos
anos setenta do século vinte e utilizado desde 1981 até ao presente,
nomeadamente em dispositivos como os cartões de memória. Ao longo do
tempo foram desenvolvidos três tipos de sistema de armazenamento de
ficheiros FAT, conhecidos por FAT 12, FAT 16 e FAT 32, essencialmente
devido ao comprimento de palavra de cada elemento da respectiva FAT (12
bits, 16 bits e 32 bits).
Embora constituam sistemas de
armazenamento de ficheiros relativamente simples e desprovidos de
mecanismos de encriptação e segurança de dados, os sistemas do tipo FAT
continuam a ser bastante utilizados, principalmente em pens e
cartões de memória com os Memory Stick da Sony, cartões
Secure Digital (SD) e cartões Compact Flash (CF).
Pista
Coroa circular concêntrica da superfície
de um dispositivo de armazenamento digital.
Cada pista é dividida, logicamente, num
determinado número de pedaços de igual dimensão designados por sectores.
Os dispositivos mais antigos dividiam
todas as pistas do dispositivo no mesmo número de sectores, pelo que os
sectores das pistas mais exteriores tinham maior área do que os sectores
das pistas mais interiores. Os dispositivos actuais tendem a utilizar
diferente número de sectores para diferentes pistas.
Sector
Imaginando um dispositivo de armazenamento
digital como sendo um círculo, cada coroa circular concêntrica será uma
pista do dispositivo; dividindo cada pista em diversas partes iguais,
cada uma dessas partes ou gomos é um sector.
Um sector é o bloco mais elementar em que
se pode dividir um dispositivo de armazenamento digital, como é o caso
dos discos rígidos, disquetes, cartões de memória, etc… Cada sector
contém, normalmente mas não obrigatoriamente, 512 bytes.

Cluster
Clusters são unidades lógicas
constituídas por conjuntos de sectores.
Embora os sectores sejam as unidades
elementares básicas dos dispositivos de armazenamento digital, os
ficheiros são armazenados em clusters.
Uma vez que os ficheiros são armazenados
em clusters, quanto maior for um cluster (quanto mais
sectores tiver), maior será o espaço que um ficheiro muito pequeno (no
limite, só com 1 byte) ocupa em disco. Por exemplo, com sectores de 512
bytes e clusters com 2 sectores, um ficheiro só com 1 byte ocupa
2 x 512 = 1024 (1 K) bytes na partição; mas numa partição onde cada
cluster tenha 8 sectores, o mesmo ficheiro já ocupa 8 x 512 = 4096
(4 K) bytes na partição.
Numa comparação com a química, sectores
correspondem a átomos e clusters a moléculas.
Partição
É uma subdivisão lógica de um dispositivo
de armazenamento digital (disco rígido, disquete, cartão de memória,
etc…), que passa a assumir o comportamento de uma unidade de
armazenamento autónoma.
A informação sobre o número e localização
da cada uma das partições existentes num dispositivo de armazenamento
digital encontra-se numa tabela, parte do primeiro sector do
dispositivo. Essa tabela tem capacidade para comportar informação sobre
quatro partições, designadas partições primárias; uma destas quatro
entradas é assinalada como partição activa e é a partição utilizada para
tentar carregar o sistema operativo. Para ultrapassar a limitação das
quatro partições por dispositivo, criou-se o conceito de partição
estendida; uma partição estendida pode conter um número de sub partições
limitado apenas pela dimensão do dispositivo.
Sistema de armazenamento de ficheiros
É um conjunto de regras que define um
standard sobre a forma como os ficheiros são armazenados nas partições
dos dispositivos de armazenamento digital. Os sistemas de armazenamento
de ficheiros especificam a forma como os ficheiros são guardados e
geridos e, controlam as áreas livres e ocupadas das partições dos
dispositivos.
Existem diversos sistemas de armazenamento
de ficheiros, como é o caso, por exemplo, das diversas variantes da FAT
(FAT 12, FAT 16 e FAT 32) utilizadas pelo sistema operativo MS-DOS e
versões do Windows anteriores ao Windows XP, NTFS
utilizada pelo Windows XP e sucessores, EXT2, EXT3 e EXT4
utilizadas pelo Linux, YAFFS e VFAT utilizadas pelo Android.
|
Procure outros termos na nossa enciclopédia
|
|