- 11-42 -
Декодирование элементов таблицы FAT
Значение в элементе 0 таблицы FAT всегда указывает на формат
диска. Элемент 1 всегда установлен в значение (F)FFF, чтобы выс-
тупать в роли преграды или заполнителя между элементом 0 и эле-
ментом 2. В таблице 11-5 представлены разные значения по каждому
формату, поддерживаемому операционной системой MS-DOS версий с
1.0 по 3.3.
Все последующие элементы таблицы FAT используются для отоб-
ражения диска. Каждый из этих элементов содержит один из четырех
типов информации:
- следующий номер кластера в файле;
- маркер конца файла;
- неиспользованный кластер;
- кластер, помеченный, как зарезервированный, или испорчен-
ный.
В таблице 11-6 перечислены значения, которые могут присутс-
твовать в элементах таблицы FAT.
- 43 -
Элемент каталога для файла 1. Элемент каталога для файла 2.
Начальный номер кластера ука- Начальный номер кластера ука-
зывает на элемент 2 таблицы зывает на элемент 5 таблицы
FAT (первая часть файла нахо- FAT (первая часть файла нахо-
дится в кластере 2) дится в кластере 5)
ЪДДДД¦ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦ ¦ ЪДДДДДДД¬
¦ ¦ 0¦ FFD ¦ Двухсторонний гибкий диск с 9
¦ ¦ АДДДДДДДЩ секторами на треке
¦ ¦ ЪДДДДДДД¬
¦ ¦ 1¦ FFF ¦ (Заполнитель)
¦ ¦ АДДДДДДДЩ
¦ ¦ ЪДДДДДДД¬
¦ АДД>2¦ 003 ¦ Следующая часть файла 1 указываетДД¬
¦ АДДДДДДДЩ на элемент/кластер 3 ¦
¦ ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦ ¦
¦ ¦ ЪДДДДДДД¬
¦ АДД>3¦ 004 ¦ Следующая часть файла 1 указываетДД¬
¦ АДДДДДДДЩ на элемент/кластер 4 ¦
¦ ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦ ¦ ЪДДДДДДД¬
¦ АДД>4¦ 008 ¦ Следующая часть файла 1 указываетДДДД¬
¦ АДДДДДДДЩ на элемент/кластер 8 ¦
¦ ЪДДДДДДД¬ ¦
АДДДДДДД>5¦ 006 ¦ Следующая часть файла 2 указываетДД¬ ¦
АДДДДДДДЩ на элемент/кластер 6 ¦ ¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ ¦
¦ ЪДДДДДДД¬ ¦
АДД>6¦ 007 ¦ Следующая часть файла 2 указываетДД¬ ¦
АДДДДДДДЩ на элемент/кластер 7 ¦ ¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ ¦
¦ ЪДДДДДДД¬ ¦
АДД>7¦ FFF ¦ Конец файла 2 ¦
АДДДДДДДЩ ¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦ ЪДДДДДДД¬
АДД>8¦ 009 ¦ Следующая часть файла 1 указываетДД¬
АДДДДДДДЩ на элемент/кластер 9 ¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦ ЪДДДДДДД¬
АДД>9¦ 010 ¦ Следующая часть файла 1 указываетДД¬
АДДДДДДДЩ на элемент/кластер 10 ¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦ ЪДДДДДДД¬
АД>10¦ FFF ¦ Конец файла 1
АДДДДДДДЩ
ЪДДДДДДД¬
11 - 13 ¦ 000 ¦ Не используется - распределяется,
АДДДДДДДЩ как свободная память
Рис. 11-8. Пример таблицы FAT
- 11-44 -
Таблица 11-5
Значения типа диска в элементе 0 таблицы FAT
ДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В элементе 0 ¦ Тип диска и формат
(шестнадцати- ¦
ричное значение)¦
ДДДДДДДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
(F)FF0 ¦3,5-дюймовая, 1,44-Мегабайтная дискета (для
¦версий 3.30 и выше операционной системы MS-DOS
¦или
¦другой неопределенный формат (для версий 3.30
¦и выше операционной системы MS-DOS)
(F)FF8 ¦Жесткий диск (жесткие диски в персональных
¦компьютерах IBM PC, IBM PC-XT, IBM PC-AT с
¦операционной системой MS-DOS версии 2.0 и
¦выше)
(F)FF9 ¦Сменный носитель. Обычно имеют 5,25-дюймовый,
¦1,2 Мбайтный формат гибких дисков повышенной
¦емкости (для операционной системы MS-DOS
¦версии 3.0 и выше)
¦или
¦3,5 - дюймовый, 720 Мбайтный формат гибких
¦дисков (для операционной системы MS-DOS вер-
¦сии 3.20 и выше)
(F)FFC ¦Сменный носитель. Обычно используется для
¦5,25- дюймовых, 180-Кбайтных гибких дисков
¦(для операционной системы MS-DOS версии 2.00
¦и выше)
(F)FFD* ¦Сменный носитель. Обычно используется для
¦5,25- дюймовых, 360-Кбайтных гибких дисков
¦(для операционной системы MS-DOS версии 2.00
¦и выше)
¦или
¦8-дюймовых 501-Кбайтных (двухсторонних с
¦одинарной плотностью записи) гибких дисков
(F)FFE* ¦Сменный носитель. Обычно используется для
¦5,25-дюймовых, 160-Кбайтных гибких дисков
¦(для операционной системы MS-DOS версии 1.00
¦и выше)
¦или
¦8-дюймовых 250-Кбайтных (односторонних с
¦одинарной плотностью записи) гибких дисков
¦или
¦8-дюймовых 1,232-Мегабайтных (двухсторонних
¦с удвоенной плотностью записи) гибких дисков
(F)FFF ¦Сменный носитель. Обычно используется для
¦5,25-дюймовых, 320-Кбайтных гибких дисков
- 11-45 -
¦(для операционной системы MS-DOS версии 1.10
¦и выше)
ДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Примечание. Некоторые реализации операционной системы
---------- MS-DOS поддерживают работу 8-дюймовых дисков
с программной разметкой. Несмотря на то, что обычные
драйверы устройств должны быть написаны для конкретного
типа дисководов 8-дюймовых дисков, используемых в систе-
ме, "родовая" операционная система MS-DOS поддерживает
четыре формата 8-дюймовых с одинарной плотностью записи
(128 байтов в секторе), один двухсторонний формат с оди-
нарной плотностью записи, и один двухсторонний формат с
удвоенной плотностью записи (1024 байтов в секторе).
Единственная разница между двумя односторонними формата-
ми одинарной плотности заключается в том, что один имеет
один зарезервированный сектор под запись начальной заг-
рузки, а второй имеет четыре таких сектора. Значение оп-
ределения формата диска в элементе 0 таблицы FAT для
формата с одинарной плотностью записи с одним зарезерви-
рованным сектором и для формата с двойной плотностью за-
писи одинаково и равняется шестнадцатиричному значению
FFE. Для формата с одинарной плотностью записи и с че-
тырьмя зарезервированными секторами таким значением бу-
дет значение FFD. Использование такого же значения для
5,25-дюймовых гибких дисков не является проблемой, пото-
му что операционная система MS-DOS через свои драйверы
устройств узнает, когда она обращается к 8-дюймовым
дискам. Для того, однако, чтобы операционная система
MS-DOS могла отличать 8-дюймовые форматы от других, ког-
да она встречает значение FFE в элементе 0 таблицы FAT,
она сначала считывает диск, предполагая, что он имеет
одинарную плотность записи, а потом пытается прочитать
адресную отметку одинарной плотности в первом секторе.
Если не происходит ошибок операционная система продолжа-
ет чтение диска, уже зная, что он имеет формат одинарной
плотности. Если при чтении происходит ошибка, операцион-
ная система MS-DOS предполагает, что диск был отформати-
рован с удвоенной плотностью записи. Тогда операционная
система возвращается к началу считывания диска,уже наст-
роенная на чтение диска в формате с двойной плотностью
записи. Если ваша система имеет дисководы для 8-дюймовых
гибких дисков, в руководстве по операционной системе
MS-DOS, приложенном к вашей конкретной реализации опера-
ционной системы MS-DOS,должна иметься необходимая техни-
ческая информация о форматах 8-дюймовых дисков.
Как видно из таблиц 11-5 и 11-6, все элементы таблицы FAT
содержат либо трехцифровые, либо четырехцифровые шестнадцатирич-
ные номера. Это значит, что элемент таблицы FAT содержит либо 12-
битовое, либо 16-битовое значение. Все диски, содержащие 4085 или
меньше кластеров (большинство гибких дисков и других сменных но-
сителей) используют 12-битовые элементы таблицы FAT, в то время,
как диски, имеющие более 4085 кластеров (большинство жестких дис-
ков и некоторые сменные диски) используют 16-битовые элементы
таблицы FAT.
- 11-46 -
Таблица 11-6
Значения элементов таблицы FAT, управляющие
размещением файлов
ДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Шестнадцатиричное ¦
значение элемента ¦ Значение
таблицы FAT ¦
ДДДДДДДДДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
(0)000 ¦Кластер не используется и доступен для
¦размещения нового файла
с (F)FF0 до ¦Зарезервированный кластер (недоступен для
(F)FF6 ¦обычного хранения файлов)
с (F)FF7 ¦Кластер помечен, как испорченный,
¦операционной системой MS-DOS и не использу-
¦ется хранения файлов.
с (F)FF8 до ¦Последний кластер, занятый файлом