<< Вернуться у выбору материала

Лекция № 5
Системы управления файлами. Файловая система FAT. Файловые системы VFAT и FAT32.

Введите ваш запрос для начала поиска.

Переводы с на чешский. Перевод справок с русского на чешский http://www.podebrady.ru.

Вопросы:

  1. Области логического диска
  2. Загрузочный сектор
  3. Таблица размещения файлов
  4. Корневой каталог
  5. Файловая система VFAT
  6. Файловая система FAT32

В файловой системе FAT дисковое пространство любого логического диска делится на две области:

Системная область создается и инициализируется при форматировании, а впоследствии обновляется при манипулировании файловой структурой.

Системная область состоит из следующих компонентов:

Эти компоненты расположены на диске друг за другом.

Область данных содержит файлы каталоги, подчиненные корневому.

В отличие от системной области, область данных доступна через пользовательский интерфейс DOS.

Загрузочный сектор

! Формирование загрузочной записи происходит при форматировании (например, FORMAT). Формат загрузочного сектора зависит от ОС и даже от версии.

Загрузочный сектор является самым первым на логическом диске. Он содержит загрузочную запись (boot record).

Загрузочная запись состоит из двух частей:

Первые два байта загрузочной записи - команда безусловного перехода на системный загрузчик - JMP 3Eh. В третьем байте - NOP (90h).

Далее - 8 байтовый системный идентификатор (информация о фирме-разработчике и версии ОС). Обратим внимание - ОС не используется.

Затем следует блок параметров диска, а после него - загрузчик ОС.

Блок параметров диска содержит следующую информацию

Загрузочные записи различных операционных систем отличаются обычно структурой блока параметров. В некоторых есть и дополнительные поля.

Подробно мы познакомимся с загрузочной записью на лабораторных работах.

Между загрузочным сектором и FAT могут находиться зарезервированные секторы, которые являются служебными для файловой системы или не используются. Количество зарезервированных секторов определено в BPB. (В форматном просмотре - Reserved sectors at beginning - если =1, то это MBR)

Для просмотра и редактирования, а также сохранения и восстановления загрузочной записи можно использовать утилиту Disk Editor.

Таблица размещения файлов

Таблица размещения файлов (File Allocation Table - FAT) по сути является картой области данных.

Область данных разбивают на так называемые кластеры. Кластер - это один или несколько смежных секторов области данных. С другой стороны, кластер - это минимальная адресуемая единица дисковой памяти, выделяемая файлу. Т.е. файл или каталог занимает целое число кластеров. Для создания и записи на диск нового файла операционная система отводит для него несколько свободных кластеров диска. Эти кластеры не обязательно должны следовать друг за другом. Для каждого файла хранится список всех номеров кластеров, которые предоставлены данному файлу.

На дискетах кластер занимает один или два сектора, а на жестких дисках - в зависимости от объема раздела:

для разделов емкостью 16-127 Мбайт - 4 сектора в кластере (размер кластера - 2 Кбайта);

для разделов емкостью 128-255 Мбайт - 8 секторов в кластере (4 Кб);

для разделов емкостью 256-511 Мбайт - 16 секторов в кластере (8 Кб);

для разделов емкостью 512-1023 Мбайт - 32 сектора в кластере (16 Кб);

для разделов емкостью 1024-2047 Мбайт - 64 сектора в кластере (32 Кб).

Разбиение области данных на кластеры вместо использования секторов позволяет:

Однако слишком большой размер кластера ведет к неэффективному использованию области данных, особенно в случае большого количества маленьких файлов (ведь на каждый файл теряется в среднем полкластера).

В современных файловых системах (FAT32, HPFS, NTFS) эта проблема решается за счет ограничения размера кластера (максимум 4 Кбайта)

Каждый элемент таблицы FAT (12, 16 или 32 бит) соответствует одному кластеру диска и характеризует его состояние: свободен, занят или является сбойным кластером (bad cluster).

Таким образом, в таблице FAT кластеры, принадлежащие одному файлу связываются в цепочки.

Первый элемент FAT описывает среду загрузочного сектора. Его первый байт совпадает с байтом-описателем среды носителя данных (смещение 0Ah - см. табл.4) и равен 0F0h для гибкого магнитного 3,5 дм. диска или 0F8h для жесткого диска. Следующие 5 байт (7 байт) для 12-разрядного (16-разрядного) формата содержат значение 0FFh.

Таблица размещения файлов хранится сразу после загрузочной записи логического диска, ее точное расположение описано в специальном поле в загрузочном секторе.

Она хранится в двух идентичных экземплярах, которые следуют друг за другом. При разрушении первой копии таблицы используется вторая.

В связи с тем, что FAT используется очень интенсивно при доступе к диску, она обычно загружается в ОП (в буфера ввода/вывода или кэш) и остается там настолько долго, насколько это возможно.

Основной недостаток FAT - медленная работа с файлами. При создании файла работает правило - выделяется первый свободный кластер. Это ведет к фрагментации диска и сложным цепочкам файлов. Отсюда следует замедление работы с файлами.

Для просмотра и редактирования таблицы FAT можно использовать утилиту Disk Editor.

Корневой каталог ROOT

Подробная информация о самом файле хранится в другой структуре, которая называется корневым каталогом. Каждый логический диск имеет свой корневой каталог (ROOT, англ. - корень).

Корневой каталог описывает файлы и другие каталоги. Элементом каталога является дескриптор (описатель) файла.

Дескриптор каждого файла и каталога включает его

Итак, пользователь запускает файл на выполнение. Операционная система ищет файл с нужным именем, просматривая описания файлов в текущем каталоге. Когда найден требуемый элемент в текущем каталоге, операционная система считывает номер первого кластера данного файла, а затем по таблице FAT определяет остальные номера кластеров. Данные из этих кластеров считываются в оперативную память, объединяясь в один непрерывный участок. Операционная система передает управление файлу, и программа начинает работать.

Для просмотра и редактирования корневого каталога ROOT можно также использовать утилиту Disk Editor.

Замечание. В последнее время объемы дисковых механизмов намного превысили максимально допустимый размер, приемлемый для FAT, - 8,4 Гбайт. Этот предел объясняется максимально возможными значениями в адресе сектора, для которого отводится всего 3 байта. Поэтому в подавляющем большинстве случаев при работе в среде Windows-систем FAT не используется (используют либо FAT32, либо NTFS).

Корпорация Microsoft рекомендует использовать FAT для разделов объемом 256 Мбайт и менее.

Файловая система VFAT

Файловая система VFAT (виртуальная FAT) впервые появилась в Windows for Workgroups 3.11 и была предназначена для файлового ввода/вывода в защищенном режиме.

Используется эта файловая система в Windows 95. Поддерживается она также и в Windows NT 4.

VFAT - это «родная» 32-разрядная файловая система Windows 95. Ее контролирует драйвер VFAT.VXD.

Управляет различными файловыми системами и приложениями диспетчер устанавливаемых файловых систем - Installable File Systems Manager.

VFAT использует 32-разрядный код для всех файловых операций, может использовать 32-разрядные драйверы защищенного режима.

НО, элементы таблицы размещения файлов остаются 12- или 16-разрядными, поэтому на диске используется та же структура данных (FAT). Т.е. формат таблицы VFAT такой же, как и формат FAT.

VFAT наряду с именами «8.3» поддерживает длинные имена файлов. (Часто говорят, что VFAT - это FAT с поддержкой длинных имен).

Существует специальный механизм преобразования длинных имен в короткие и наоборот.

Вы помните, что длина имени для DOS подчиняется правилу “8.3”, то есть, длина имени не должна превышать 8 символов, а расширения - 3. Главной особенностью файловой системы Windows 95 для пользователя является то, что максимальная длина имени файла в Windows 95 может достигать 256 символов, включая пробелы. Ограничением длины имени файла служит путь к файлу: суммарная длина пути и имени файла не может превышать 260 символов.

При создании файла в Windows 95 ему присваивается сразу два имени - длинное и короткое (8.3). Короткое имя образуется из длинного путем удаления из него пробелов и символов / : * ? “ “< > I . Для восьмибуквенного имени файла используются первые шесть оставшихся символов длинного имени, символ “~“ (тильда) и порядковый номер. Для трехбуквенного расширения используются первые три символа после последней точки в длинном имени файла.

Например, короткие имена для файлов (в следующем порядке)

Article about Windows 95.DOS

Next article about Windows 95.DOS

Article about Windows NT.DOS

Microsoft office.HTML

Microsoft Windows. HTML

будут выглядеть так

ARTICL~1.DOC

NEXTAR~1.DOC

ARTICL~2.DOC

MICROS~1.HTM

MICROS~2.HTM

При этом в структуре ROOT, наряду с обычным дескриптором (называемым алиасным) для файла или каталога создаются дескрипторы специального вида, в которых и хранится длинное имя. Для специальных дескрипторов установлены атрибуты Read Only (только для чтения), System (системный), Hidden (скрытый), Volume Label (Метка Тома). Количество специальных дескрипторов зависит от длины имени.

Специальный дескриптор ссылается на кластер с номером О. Настоящий номер первого кластера, распределенного файлу или каталогу, находится в стандартном (алиасном) дескрипторе, расположенном непосредственно за специальными.

Для томов VFAT нельзя пользоваться никакими утилитами, кроме утилит «понимающих» VFAT

Основной недостаток VFAT - большие потери на кластеризацию при больших размерах логического диска и ограничения на сам размер логического диска.

Файловая система FAT 32

Это новая реализация идеи использования таблицы FAT.

FAT32 - это полностью самостоятельная 32-разрядная файловая система.

Впервые использовалась в Windows OSR2 (OEM Service Release 2).

В настоящее время FAT32 используется в Windows 98 и Windows ME.

Она содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями FAT.

1. Намного эффективнее расходует дисковое пространство за счет того, что использует кластеры меньшего размера (4 Кб) - подсчитано, что экономится до 15%.

2. Имеет расширенную загрузочную запись, которая позволяет создавать копии критических структур данных Þ повышает устойчивость диска к нарушениям структур диска

3. Может использовать резервную копию FAT вместо стандартной.

4. Может перемещать корневой каталог, другими словами, корневой каталог может находиться в произвольном месте Þ снимает ограничение на размер корневого каталога (512 элементов, т.к. ROOT должен был занимать один кластер).

5. Усовершенствована структура корневого каталога

Появились дополнительные поля:

По-прежнему для длинного имени файла используется несколько дескрипторов.

Для томов FAT32 нельзя пользоваться никакими утилитами, кроме утилит «понимающих» FAT32

Рейтинг@Mail.ru