FAT представляет собой однородную структуру элементов, каждый из которых логически связан с одним кластером диска. Элементы FAT нумеруются, начиная с номера 0, однако первые два элемента используются особым образом, так что кластеры имеют номера, начиная с 2. Чтобы определить, занят ли кластер с номером N, нужно проанализировать N—й элемент FAT: если элемент содержит 0, кластер не занят полезной информацией, в противном случае он содержит ссылку на следующий связанный с ним кластер или специальный признак конца ссылок.

При выделении дискового пространства новому файлу ДОС ищет в FAT первый незанятый кластер и помещает номер этого кластера в связанный с файлом элемент каталога (см. ниже). Если файл целиком умещается в одном кластере, в соответствующий элемент FAT помещается признак занятости, в противном случае — номер того кластера, в котором находится продолжение файла (см. рис.3.3).

h00641.jpg

Рис.3.3. Цепочка ссылок FAT

Как видно из этого рисунка, файл MYFILE. ТХТ начинается в кластере с номером $08 и занимает кластеры $08, $09, $ОА, $ОВ, $15, $16, $17, $19, $1Аи$1В.

В ДОС используются FAT двух типов: с 12— и 16—битными элементами. В первом случае два смежных кластера описываются трехбайтной последовательностью, так что на каждый кластер приходится полтора байта описателя. Такие таблицы используются на дискетах и жестких дисках небольшой емкости (до 10 Мбайт). В 16-битных FAT под каждый описатель выделяются два байта. Начиная с версии 4.0, в загрузочном лекторе со смещением 54 байта от начала располагается 8—байтное поле с символами 'FAT 12' или 'FAT16' в зависимости от типа элементов FAT. Для предыдущих версий ДОС такого явного указания типа FAT нет. Вместо этого используется следующее соглашение: если общее количество кластеров больше 4080 или общее количество секторов больше 20740, FAT использует 16—битные элементы. Значение 4080 определяется как полная емкость 12—разрядного числа (4096) минус 16 номеров, зарезервированных для особых применений (указатели конца цепочки и плохих кластеров). Значение 20740 определяет максимальную емкость логического диска в 10 Мбайт: если диск имеет большую емкость, его FAT оперирует с