Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Файловые системы FAT , FAT 32.



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

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

- загрузочная запись;

- таблицы размещения файлов и ее копии;

- корневой каталог.

Файловая система FAT (File Allocation Table – таблица размещения файлов) получила свое название от соответствующей таблицы. Основное назначение этой таблицы – указывать, как файлы разбросаны по дисковому пространству логического диска.

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

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

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

Каждый файл занимает целое число кластеров, причем последний кластер при этом может быть задействован не полностью, что при большом размере кластера может приводить к заметной потере дискового пространства. Размер кластера зависит от объема раздела (логического диска). При помощи таблицы FAT кластеры, принадлежащие одному файлу (или файлу-каталогу), связываются в цепочки. Для указания номера кластера в файловой системе FAT 16 используется 16 разрядов, следовательно, область данных логического диска может иметь до 216 = 65 536 кластеров (с номерами от 0 до 65 535). Увеличение количества разрядов, предназначенных для адресации кластера (указания номера кластера), увеличивает объем дискового пространства раздела, который описывает файловая система. Номер кластера всегда относится к области данных диска (пространству, зарезервированному для файлов и подкаталогов). Номера кластеров однозначно соответствуют элементам таблицы размещения файлов.

Логическое разбиение области данных на кластеры как совокупности секторов взамен использования одиночных секторов имеет следующий смысл: уменьшается размер таблицы FAT, уменьшается возможная фрагментация файлов, ускоряется доступ к файлу, так как в несколько раз сокращается длина цепочек фрагментов дискового пространства, выделенных для него. Все же слишком большой размер кластера ведет к неэффективному использованию области данных, особенно в случае большого количества маленьких файлов. В современных файловых системах размеры кластеров ограничиваются (обычно от 512 байт до 4 Кбайт), либо предоставляется возможность выбирать размер кластера.

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

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

- кластер свободен;

- зарезервированный кластер;

- плохой кластер;

- номер следующего кластера в цепочке;

- последний кластер в цепочке.

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

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

В связи с чрезвычайной важностью таблицы размещения файлов она обычно хранится в двух идентичных экземплярах, второй из которых непосредственно следует за первым. Обновляются копии таблицы размещения файлов одновременно, используется же только первый экземпляр. Если он по каким-либо причинам окажется разрушенным, то произойдет обращение ко второму экземпляру. Например, утилита проверки и восстановления файловой структуры ScanDisk из ОС Windows 9х при обнаружении несоответствия первичной и резервной копии FAT предлагает восстановить главную таблицу, используя данные из копии.

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

- имя файла;

- атрибуты файла;

- время и дата создания;

- дата последнего доступа;

- время и дата последней модификации;

- ссылка на первый кластер файла (номер);

- размер файла.

Структура загрузочной записи.

Сектор, содержащий системный загрузчик, является самым первым на логическом диске C. Загрузочная запись состоит из двух частей: блока параметров диска (Disk Parameter Block, DPB) и системного загрузчика (программы начальной загрузки) (System Bootstrap, SB). Блок параметров диска служит для идентификации физического и логического форматов логического диска. Здесь, в частности, находится следующая информация: размер сектора, количество секторов в кластере, число зарезервированных секторов, число копий FAT, число секторов на дорожке, число рабочих поверхностей. Системный загрузчик играет существенную роль в процессе загрузки операционной системы.

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

Основными недостатками файловых систем FAT, которые привели к разработке новой реализации файловой системы, основанной на идее таблицы размещения файлов, являются большие потери на кластеризацию при больших размерах логического диска и ограничения на сам размер логического диска. Поэтому в Microsoft Windows на смену системе FAT16 пришла файловая система FAT32, которая является полностью самостоятельной 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями FAT. В файловой системе FAT32 намного эффективнее расходует дисковое пространство. Прежде всего, кластеры в этой системе меньше, чем кластеры в предыдущих версиях, в которых могло быть не более 65 535 кластеров на логический диск (что определялось разрядностью элемента таблицы). Соответственно с увеличением размера диска приходилось увеличивать и размер кластеров. Следовательно, даже для дисков размером до 8 Гбайт FAT32 может использовать 4-килобайтные кластеры. В результате по сравнению с дисками FAT16 экономится значительное дисковое пространство (в среднем 10-15 %). В FAT32 проблема решается за счет того, что собственно сама таблица размещения файлов в этой файловой системе может содержать до 228 кластеров. В 32-разрядном слове FAT32, используемом для представления номера кластера, фактически учитываются только 28 разрядов, что приводит к тому, что размер таблицы размещения файлов в этой системе не может превышать 228 элементов.

Система FAT32 может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной копией. Расширенная загрузочная запись FAT32 позволяет создавать копии критически важных структур данных, что повышает устойчивость дисков FAT32 к нарушениям структуры таблицы размещения файлов по сравнению с предыдущими версиями. Корневой каталог в FAT32 представлен в виде обычной цепочки кластеров, следовательно, он может находиться в произвольном месте диска, что снимает действовавшее ранее ограничение на размер корневого каталога (512 элементов).

Загрузочная запись для файловой системы FAT32 несколько отличается от загрузочной записи FAT 16. Операционная система, в которой есть возможность работать с файловой системой FAT16, но нет системы управления файлами, понимающей спецификации FAT32, не сможет читать данные с томов, отформатированных под файловую систему FAT32. Загрузочная запись для раздела диска отформатированного для файловой системы FAT32 занимает три сектора, а не один, как в системе FAT16.


Поделиться:



Последнее изменение этой страницы: 2019-03-22; Просмотров: 314; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь