Blokker tilgjengelighets kart - Block availability map
I data filsystemer , en blokk tilgjengelighet kartet ( BAM ) er en datastruktur som brukes til å spore diskblokker som anses fri (tilgjengelig for nye data). Den brukes sammen med en katalog for å administrere filer på en disk (opprinnelig bare en diskett , og senere også en harddisk ).
Når det gjelder Commodore DOS ( CBM DOS ) kompatible diskstasjoner , var BAM en datastruktur lagret i et reservert område på disken (dens størrelse og beliggenhet varierte basert på de fysiske egenskapene til disken). For hvert spor besto av BAM av et bitmapp med tilgjengelige blokker og (vanligvis) et antall av tilgjengelige blokker. Tellingen ble holdt i en enkelt byte, da alle formater hadde 256 eller færre blokker per spor . Tellebyten var ganske enkelt summen av alle 1-bitene i bitmappen for byte for det aktuelle sporet.
Tabellen nedenfor illustrerer oppsettet til Commodore 1541 BAM. Tabellen vil være større for disker med større kapasitet (beskrevet nedenfor).
| Total byte | Bitmapbyte 1 | Bitmapbyte 2 | Bitmapbyte 3 | |
|---|---|---|---|---|
| Spor 1 | blokker tilgjengelig | Blokkerer 0-7 | Blokkering 8-15 | Blokkering 16-23 |
| Spor 2 | blokker tilgjengelig | Blokkerer 0-7 | Blokkering 8-15 | Blokkering 16-23 |
| ... | ... | ... | ... | ... |
| Spor 35 | blokker tilgjengelig | Blokkerer 0-7 | Blokkering 8-15 | Blokkering 16-23 |
Bitkartet var inneholdt i 3 byte for Commodore 1541-format ( ensidige ) disker fordi det hadde 17 til 20 sektorer per spor (merknad 3 byte kan inneholde minst 20 biter). Tilsvarende brukte Commodore 1571 3 byte for bitmappen for hvert spor, men BAM var dobbelt så stor fordi det var dobbelt så mange spor når de ble formatert som tosidig . I motsetning til dette brukte Commodore 1581 diskstasjon 5 byte for bitmappen fordi diskformatet hadde 40 blokker per spor (merknad 5 byte kan inneholde 40 bit).
I bitmappen av hvilket som helst format indikerte en 1 bit at blokken var tilgjengelig (gratis), mens en 0 bit indikerte at blokken ikke var tilgjengelig (brukt), og bitmappdataene ble lagret lavbyte først . Så den første byten holdt et kart for blokkene 0 til 7, den andre byte hadde et kart for blokkene 8 til 15, og så videre. Innen en byte ble bitmappen bestilt lav-bit først. For eksempel ville den første byte representere blokk 0 med den minst signifikante biten og blokk 7 med den mest betydningsfulle biten .
Lagringsenheter av Creative Micro Designs , beregnet for bruk med CBM-datamaskiner, brukte også et kart over tilgjengelighetsblokker som tjente samme formål. Imidlertid inkluderte disse enhetene ( FD-2000, FD-4000 og CMD-HD ) ikke en tellebyte, og bitene i hver byte ble reversert (high-bit først). Selv om bitene ble reversert (sammenlignet med CBM-formater), ble bytene fremdeles lagret i samme rekkefølge (lavbyte først).
| Bitmapbyte 1 | Bitmapbyte 2 | ... | Bitmapbyte 32 | |
|---|---|---|---|---|
| Spor 1 | Blokkerer 0-7 | Blokkering 8-15 | ... | Blokkene 248-255 |
| Spor 2 | Blokkerer 0-7 | Blokkering 8-15 | ... | Blokkene 248-255 |
| ... | ... | ... | ... | ... |