Карта доступности блока - Block availability map

В файловых системах компьютера , наличие блока карта ( BAM ) представляет собой структуру данных для отслеживания дисковых блоков , которые считаются свободными (для новых данных). Он используется вместе с каталогом для управления файлами на диске (первоначально только дискета , а позже и жесткий диск ).

С точки зрения дисководов , совместимых с Commodore DOS ( CBM DOS ) , BAM представлял собой структуру данных, хранящуюся в зарезервированной области диска (ее размер и расположение менялись в зависимости от физических характеристик диска). Для каждой дорожки BAM состоял из битовой карты доступных блоков и (обычно) количества доступных блоков. Подсчет велся в одном байте, так как все форматы имели 256 или меньше блоков на дорожку . Байт счетчика был просто суммой всех 1-битов в битовой карте байтов для текущей дорожки.

В следующей таблице показана компоновка Commodore 1541 BAM. Таблица будет больше для дисков большей емкости (описано ниже).

Всего байт Байт растрового изображения 1 Байт растрового изображения 2 Байт растрового изображения 3
Трек 1 блоки доступны Блоки 0-7 Блоки 8-15 Блоки 16-23
Дорожка 2 блоки доступны Блоки 0-7 Блоки 8-15 Блоки 16-23
... ... ... ... ...
Дорожка 35. блоки доступны Блоки 0-7 Блоки 8-15 Блоки 16-23

Битовая карта содержалась в 3 байтах для дисков формата Commodore 1541 ( односторонних ), потому что у нее было от 17 до 20 секторов на дорожку (примечание, 3 байта могут содержать не менее 20 бит). Точно так же Commodore 1571 использовал 3 байта для растрового изображения каждой дорожки, но размер BAM был вдвое больше, потому что было вдвое больше дорожек при двустороннем форматировании . Напротив, дисковый накопитель Commodore 1581 использовал 5 байтов для битовой карты, потому что формат диска имел 40 блоков на дорожку (примечание 5 байтов могут содержать 40 бит).

В битовой карте любого формата 1 бит указывает на то, что блок доступен (свободен), в то время как бит 0 указывает, что блок недоступен (используется), и данные битовой карты сначала сохранялись в младшем байте . Таким образом, первый байт содержал карту для блоков с 0 по 7, второй байт содержал карту для блоков с 8 по 15 и так далее. В пределах байта битовая карта была упорядочена по младшему разряду . Например, первый байт будет представлять блок 0 с младшим битом и блок 7 со старшим битом .

Устройства хранения от Creative Micro Designs , предназначенные для использования с компьютерами CBM, также использовали карту доступности блоков, которая служила той же цели. Однако эти устройства ( FD-2000, FD-4000 и CMD-HD ) не включали счетный байт, и биты в каждом байте были перевернуты (сначала старший бит). Хотя биты были перевернуты (по сравнению с форматами CBM), байты по-прежнему сохранялись в том же порядке (сначала младший байт).

Байт растрового изображения 1 Байт растрового изображения 2 ... Битовый байт 32
Трек 1 Блоки 0-7 Блоки 8-15 ... Блоки 248-255
Дорожка 2 Блоки 0-7 Блоки 8-15 ... Блоки 248-255
... ... ... ... ...

Смотрите также

Ссылки