Bloco mapa de disponibilidade - Block availability map

Em sistemas de arquivos de computador , um mapa de disponibilidade bloco ( BAM ) é uma estrutura de dados usada para rastrear blocos de disco que são consideradas livre (disponível para novos dados). É usado juntamente com um diretório para gerenciar arquivos em um disco (originalmente apenas uma disquete , e mais tarde também um disco rígido ).

Em termos de Commodore DOS ( CBM DOS ) compatíveis com as unidades de disco , o BAM era uma estrutura de dados armazenados numa área reservada do disco (o seu tamanho e localização variou com base nas características físicas do disco). Para cada faixa, o BAM consistiu de um bitmap de disponíveis blocos e (geralmente) uma contagem dos blocos disponíveis. A contagem foi realizada num único byte, como todos os formatos tinha 256 ou menos blocos por pista . O byte de contagem era simplesmente a soma de todos os 1-bits no mapa de bits de bytes para o trajecto actual.

A tabela a seguir ilustra o layout do Commodore 1541 BAM. A tabela seria maior para discos de alta capacidade (descritos abaixo).

byte total byte bitmap 1 byte 2 bitmap byte 3 bitmap
Faixa 1 blocos disponíveis blocos 0-7 blocos 8-15 blocos 16-23
Track 2 blocos disponíveis blocos 0-7 blocos 8-15 blocos 16-23
... ... ... ... ...
pista 35 blocos disponíveis blocos 0-7 blocos 8-15 blocos 16-23

O bitmap foi contido em 3 bytes para o formato Commodore 1541 ( de um só lado ) discos porque tinha de 17 a 20 setores por trilha (nota 3 bytes podem conter pelo menos 20 bits). Da mesma forma, o Commodore 1571 usado 3 bytes para o mapa de bits de cada faixa, mas o BAM foi o dobro do tamanho, porque houve duas vezes tantas faixas quando formatado como de dupla face . Em contraste, o Commodore 1581 unidade de disco usado 5 bytes para o mapa de bits, porque o formato de disco tinha 40 blocos por pista (blocos 5 bytes pode conter de 40 bits).

No mapa de bits de qualquer formato, um 1 bit indicado o bloco estava disponível (livre), enquanto que um bit 0 do bloco indicado não estava disponível (usado), e os dados de mapa de bits armazenados foi byte inferior primeira . Assim, o primeiro byte realizado um mapa de blocos de 0 a 7, o segundo byte realizada um mapa para os blocos de 8 a 15, e assim por diante. Dentro de um byte, o bitmap foi ordenado baixo-bit em primeiro lugar. Por exemplo, o primeiro byte representaria bloco 0 com o bit menos significativo e bloquear o 7 com o bit mais significativo .

Dispositivos de armazenamento por desenhos criativos Micro , destinados para uso com computadores CBM, também usou um mapa Disponibilidade Bloco que serviu a mesma finalidade. No entanto, estes dispositivos ( FD-2000, FD-4000 , e CMD-HD ) não incluem um byte de contagem, e os bits de cada byte foram invertidos (-bit alta primeiro). Embora os bits foram invertidos (em comparação com formatos CBM), os bytes ainda estavam armazenados na mesma ordem (baixo-byte primeiro).

byte bitmap 1 byte 2 bitmap ... byte de mapa de bits 32
Faixa 1 blocos 0-7 blocos 8-15 ... blocos 248-255
Track 2 blocos 0-7 blocos 8-15 ... blocos 248-255
... ... ... ... ...

Veja também

Referências