9: Tabela de Alocacao de Arquivos
Um fato q me deixou um tanto quanto curioso, foi qe com o surgimento de HD's maiores de 1Gb, a moda era se falar de Clusters, particionar o HD e coisa e tal. Algumas HPs "hackers" ate fizeram materias falando sobre, com as tabelinhas de Mb, por divisao O interessante mesmo, e que ninguem nem sequer se preocupou em saber como funcionava afundo a Tabela de Alocacao de Arquivos. Entao vamos a ela..
Antes um lembrete: Para discos de dupla face, o MS-DOS aloca setores em clusters de dois setores. O mais importante agora, e o fato de qe o MS-DOS numera os clusters comecando em 0. Assim, se temos 720 setores, o MS-DOS numera os clusters de 0 a 359. Se o MS-DOS souber o numero do cluster, podera calcular o numero dos setores. O primeiro setor de um cluster e' o numero do cluster multiplicado por 2. O segundo e simplesmente o proximo setor logico. A partir dai, ele pode calcular o numero de trilhas e o numero relativo do setor Dessa forma, o MS-DOS conseguira encontrar qualquer arquivo, desde que ele possa encontrar todos os clusters alocados a ele. Como os arquivos, podem ocupar numeros variaveis de clusters, o MS-DOS, armazena os numeros na forma de uma lista ligada. Cada no na lista e na realidade uma entrada da FAT. A entrada do diretorio para o arquivo contem o numero do primeiro cluster e a posiÁca do primeiro no A maneira pela qual o MS-DOS implementa a lista ligada e um tanto interessante: cada valor da FAT serve a duas finalidades. Ele indica nao somente um numero de cluster, mas tambem a entrada da FAT onde o MS-DOS pode localizar, o proximo numero do Cluster.
Localizando as entradas da FAT
Cada entrada da FAT, e associada a um determinado arquivo, mas a implementacao, nao e tao direta quanto possa parecer a principio. Observar q cada entrada da FAT deve ser capaz de armazenar um valor de ate 359 Discos de densidade mais alta tem mais clusters e consequentemente numeros maiores. Assim, a maior entrada FAT pode passar de 359. O problema, e qe a entrada da FAT precisa de mais de um byte, ja que um byte esta limitado ao valor maximo de 255.Se cada entrada da FAT tivesse 2 bytes, o maior seria (216) - 1, ou 65.535. Isso e facilmente suficiente para conter qq numero de cluster que precisemos. Porem, o MS-DOS usa somente 1 1/2 byte para cada entrada. Como 1 1/2 byte sao 12 bits, pode conter numeros de cluster d ate (212) -1, ou 4.095. A vantagem de se usar 12 bits em vez d 16 e que as entradas FAT sao menores. Assim, a FAT requer menor espaco, deixando mais espaco p/ os arquivos. A desvantagem e a complicacaoo de manusear unidades de 12 bits. Pq mais dificuldade ? Bem...Como cada entrada FAT ocupa 1 1/2 byte, o DOS armazena duas entradas consecutivas em 3 bytes consecutivos. Assim, dado um numero de entrada, a primeira coisa que o MS-DOS deve fazer e identificar os dois bytes correspondentes no setor FAT. Entao carrega os dois bytes, em um registrador.. Mas somente 12 dos 16 bits sao o valor real da FAT. A questao portanto e: "Quais 12 bits ?" He He He. Para complicar ainda mais, o microprocessador armazena inteiros de 2 bytes na memoria com o byte menos significativo primeiro e o mais significativo depois
Bem vamos ver agora qual a capacidade de nossos leitores..
No proximo zine eu dou a resposta :P
KosMOS