Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety.doc
Скачиваний:
66
Добавлен:
31.05.2015
Размер:
976.9 Кб
Скачать

Размещение fat таблицы на гибком диске

Структура размещения раздела FAT изображена на рисунке

0Группа 751 1819 32 33 2847

53 Структура каталога, структура fat- таблицы

Каждый элемент каталога MS DOS имеет длину 32 байта и структуру представленную в таблице

Табл. Элемент главного каталога.

Длина,

(байт)

FAT

8

Имя файла, каталога или тома

3

Расширение имени файла

1

Байт атрибутов

10

Резервное поле

2

Код времени обновления файла

2

Код даты изменения файла

2

Номер первого кластера файла

4

Размер файла

Поле имени. Если имя содержит меньше 8 символов, то справа оно дополняется пустыми позициями.

Код 00 в первом байте поля имени показывает, что этот элемент каталога ранее не использовался. Тат как каталог заполняется последовательно , это означает, что и следующие за ним элементы не использовались. Это позволяет избежать лишнего поиска в каталоге. При стирании файла в первом байте соответствующего элемента каталога записывается код E5. все остальные байты элемента не изменяются. Сохраняемая в каталоге и FAT информация после удаления файла позволяет выполнять его восстановление, если занимаемое им ранее дисковое пространство не было выделено другому файлу.

Код 2E (символ «.») в первом байте показывает, что элемент описывает сам каталог. Если и второй байт содержит код 2E, то элемент описывает родительский каталог («..»).

Расширение имени. Если этот элемент описывает файл, то поле может быть пустым. В противном случае это поле используется, когда в элементе корневого каталога указывается метка тома.

Атрибуты файла. Каждый бит этого поля задает определенный атрибут, указанный в табл.ХХ.

№бита

Назначение

0

Защищенный

1

Скрытый

2

Системный

3

Метка тома

4

Каталог

5

Архивный

6

Не используется

7

Не используется

Табл.ХХ Состав байта атрибутов.

Поле «время». Его содержимое рассматривается как целое число без знака, полученное по следующей формуле: часы *2048 +минуты*32 + секунды\2 .

Для выполнения обратного преобразования следует разделить содержимое поля на 2048, частное от деления даст нам часы. Деление остатка не 32 дает нам минуты, а полученный остаток при умножении его на 2 дает секунды.

Поле «дата». Содержимое его рассматривается как целое число без знака, полученное по следующей формуле: (год-1980)*512+месяц*32+день.

Следующая важная структура тома FAT — это сама таблица FAT, занимающая отдельную логическую область. Она определяет список (цепочку) кластеров, в которых размещаются файлы и папки тома. Между кластерами и индексными указателями таблицы имеется взаимно однозначное соответствие — N-й указатель соответствует кластеру с тем же номером. Первому кластеру области данных присваивается номер 2. Значение индексного указателя соответствует состоянию соответствующего кластера. Возможны следующие состояния:

  • кластер свободен — указатель обнулен;

  • кластер занят файлом и не является последним кластером файла — значение указателя — это номер следующего кластера файла;

  • кластер является последним кластером файла — указатель содержит метку EOC (End Of Clusterchain), значение которой зависит от версии FAT: для FAT12 меткой EOC считается любое значение, большее или равное 0x0FF8 (по умолчанию 0x0FFF); для FAT16 — большее или равное 0xFFF8 (по умолчанию 0xFFFF); для FAT32 — любое значение, большее или равное 0x0FFFFFF8 (по умолчанию 0x0FFFFFFF);

  • кластер поврежден — указатель содержит специальную метку, значение которой для FAT12 0x0FF7, для FAT16 0xFFF7 и для FAT32 0x0FFFFFF7. Поврежденный кластер не может использоваться файловой системой для хранения данных; соответствующие указатели не затрагиваются при форматировании тома, когда все остальные указатели обнуляются;

  • кластер зарезервирован «для будущей стандартизации» — указатель содержит значение, превышающее CountofClusters, но меньшее метки поврежденного кластера (то есть до 0xFFF6 включительно для FAT16). В этом случае кластер, не соответствуя никаким реальным данным, считается занятым и пропускается при поиске свободного, но никакой другой информации о нём не предоставляется.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]