As informações gravadas no diretório raiz do disco não estão lá
apenas para nos serem mostradas quando executamos o comando “DIR”,
mas para orientação do próprio sistema operacional. Mais especificamente
para permitir que o arquivo seja localizado no disco. Pois quando
solicitado a ler um arquivo, o sistema operacional procura, nos
setores que formam o diretório raiz do disco, por um nome de arquivo
que coincida com o do arquivo solicitado. E quando encontra, consulta
a entrada de diretório correspondente em busca da localização do
primeiro setor do arquivo. É simples assim.
Nesse
ponto uma campainha de alarme deve ter soado em sua cabeça. Simples
assim como? Se você bem se lembra, semana passada dissemos que na
entrada do diretório correspondente a cada arquivo somente consta
a localização de seu primeiro setor. Então, se o arquivo é formado
por mais de um setor, como encontrar os demais?
Bem,
os demais são encontrados através de um mecanismo engenhosíssimo.
Tão engenhoso que vale a pena descrevê-lo. Vamos tomar como exemplo
o disco de 3,5” e alta densidade que, como sabemos, contém 2880
setores em suas duas faces de oitenta trilhas com dezoito setores
cada. O sistema operacional identifica esses setores numerando-os
seqüencialmente segundo uma ordem preestabelecida. Agora, imagine
uma tabela com exatamente 2880 elementos, ou entradas. Fica fácil
entender que cada entrada da tabela corresponde a um setor do disco.
E como essa tabela será usada para localizar arquivos, chamê-mo-la
de tabela de alocação de arquivos, ou FAT (de “File Alocation Table”).
Um nome pouco apropriado, como você já deve ter percebido: mais
correto seria tabela de localização (em vez de “alocação”) de arquivos,
já que ela serve para localizar arquivos e não para alocar espaço
para eles. Mas a informática é cheia de nomes pouco apropriados
e é melhor começar a se acostumar com eles.
Pois
muito bem. Agora, imagine que o disco ainda não contém arquivo algum.
Nada. Nadinha. Em um disco assim, todas as entradas do diretório
raiz estão vazias. E todas as entradas da FAT estão preenchidas
com zeros para indicar que nenhum setor está ocupado. Pronto. Esse
é o cenário inicial.
Agora,
gravemos no disco um arquivo que ocupe, digamos, cinco setores.
Sendo ele o primeiro arquivo a ser gravado no disco, ocupará os
cinco primeiros setores. O sistema operacional, então, grava o arquivo
no disco e preenche a primeira entrada do diretório raiz com seus
dados. E o que irá ele gravar no local da entrada de diretório correspondente
à localização do primeiro setor ocupado pelo arquivo? Ora, o número
do primeiro setor do disco. Que é igual ao número da primeira entrada
da FAT. Ou seja: a entrada do diretório raiz “aponta” para a primeira
entrada da FAT.
Pois
agora entra o grande macete, a idéia genial, o mecanismo mais que
engenhoso que permite ao sistema operacional localizar os arquivos
gastando um mínimo de recursos. Porque, encontrado o primeiro setor,
os demais são achados pelas informações contidas na FAT. Que são
de uma simplicidade franciscana: cada entrada da FAT contém o número
do próximo setor ocupado pelo arquivo, ou seja, cada entrada da
FAT “aponta” para o setor seguinte (ou para a entrada da FAT seguinte:
não se esqueça que cada setor do disco corresponde a uma entrada
da FAT e vice- versa). No caso do nosso arquivo, a primeira entrada
da FAT (que corresponde ao primeiro setor ocupado pelo arquivo)
conterá o número da segunda, que conterá o da terceira, que conterá
o da quarta, que conterá o da quinta. É por isso que para encontrar
todo o arquivo basta conhecer o número do primeiro setor (que consta
da entrada do diretório): os dos outros quatro são achados lendo
seus números na FAT.
Mas
o que conterá a quinta entrada da FAT, que corresponde ao último
setor ocupado pelo arquivo e, por isso, não tem mais para onde “apontar”?
Ora, conterá um código indicando justamente isso: que aquele é o
último setor e que o sistema pode parar de procurar mais setores,
porque o arquivo termina ali. Encantadoramente simples...
Gostou
da simplicidade e engenhosidade da idéia? Pois você ainda não sabe
da missa a metade: o mais interessante é o que ocorre na medida
que mais arquivos são gravados e removidos do disco. Quer saber
o que acontece então? Basta esperar uma semana...
B.
Piropo