Заблокировать карту доступности
В компьютерных файловых системах используется карта доступности блоков ( BAM ). [1] [2] [3] [4] [5] — это структура данных , используемая для отслеживания дисковых блоков , которые считаются свободными (доступными для новых данных). Он используется вместе с каталогом для управления файлами на диске (первоначально только на дискете , а позже и на жестком диске ).
Что касается с 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 бит). [6] Аналогично, Commodore 1571 использовал 3 байта для растрового изображения каждой дорожки, но размер BAM был вдвое больше, поскольку при двустороннем формате дорожек было вдвое больше . [7] Напротив, дисковод Commodore 1581 использовал 5 байтов для растрового изображения, поскольку формат диска имел 40 блоков на дорожку (примечание: 5 байтов могут содержать 40 бит). [8]
В растровом изображении любого формата бит 1 указывал на то, что блок доступен (свободен), а бит 0 указывал на то, что блок недоступен (использован), а данные растрового изображения сначала сохранялись в младших байтах . Таким образом, первый байт содержал карту для блоков с 0 по 7, второй байт содержал карту для блоков с 8 по 15 и так далее. Внутри байта растровое изображение сначала упорядочивалось по младшим битам . Например, первый байт будет представлять блок 0 с младшим битом и блок 7 со старшим битом .
Устройства хранения данных Creative Micro Designs , предназначенные для использования с компьютерами CBM, также использовали карту доступности блоков, которая служила той же цели. Однако эти устройства ( FD-2000, FD-4000 и CMD-HD ) не включали счетный байт, и биты в каждом байте были перевернуты (сначала старший бит). Хотя биты были перевернуты (по сравнению с форматами CBM), байты по-прежнему хранились в том же порядке (сначала младший байт). [9]
Растровый байт 1 | Растровый байт 2 | ... | Растровый байт 32 | |
---|---|---|---|---|
Трек 1 | Блоки 0–7 | Блоки 8-15 | ... | Блоки 248-255 |
Трек 2 | Блоки 0–7 | Блоки 8-15 | ... | Блоки 248-255 |
... | ... | ... | ... | ... |
См. также
[ редактировать ]- Таблица размещения файлов (FAT)
- Проектирование файловой системы FAT
- Растровое изображение свободного пространства
Ссылки
[ редактировать ]- ^ Энглиш, Лотар (1984). Анатомия дисковода 1541 . Гранд-Рапидс, Мичиган: Программное обеспечение Abacus. п. 89 . ISBN 0-916439-01-1 .
- ^ 1541 Руководство пользователя . Бизнес-машины Commodore. 1982. с. 9.
- ^ 1571 Руководство пользователя . Бизнес-машины Commodore. 1985. с. 23.
- ^ 1581 Руководство пользователя . Бизнес-машины Commodore. 1987. с. 34.
- ^ Руководство пользователя серии FD . Креативные микродизайны. 1992. с. 108.
- ^ 1541 Руководство пользователя . Бизнес-машины Commodore. 1982. с. 65.
- ^ 1571 Руководство пользователя . Бизнес-машины Commodore. 1985. стр. 108–109.
- ^ 1581 Руководство пользователя . Бизнес-машины Commodore. 1987. стр. 119–120.
- ^ Руководство пользователя серии FD . Креативные микродизайны. 1992. стр. 112–114.