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 |
| ... | ... | ... | ... | ... |