Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

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

Длина, (байт) FAT
  Имя файла, каталога или тома
  Расширение имени файла
  Байт атрибутов
  Резервное поле
  Код времени обновления файла
  Код даты изменения файла
  Номер первого кластера файла
  Размер файла
   

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

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

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

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

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

№бита Назначение
  Защищенный
  Скрытый
  Системный
  Метка тома
  Каталог
  Архивный
  Не используется
  Не используется

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

 

Поле «время». Его содержимое рассматривается как целое число без знака, полученное по следующей формуле: часы *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). В этом случае кластер, не соответствуя никаким реальным данным, считается занятым и пропускается при поиске свободного, но никакой другой информации о нём не предоставляется.





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.