Читайте также:
|
|
В FAT находятся списки кластеров, распределённых файлам. Область данных диска разбита на кл астеры (cluster) — группы смежных секторов, называемые также единицами распределения пространства (allocation unit). Кластер – это несколько секторов, рассматриваемых операционной системой как единое целое. Каждый кластер имеет свой номер; размер кластера (число секторов) выбирается кратным степени числа 2 (размер кластера может быть описан фориулой 2n*512), в зависимости oт объема диска и размера FAT. Файл на диске занимает целое число кластеров, от одного до всех кластеров, входящих в область данных. Если файл занимает более одного кластера, то все кластеры, занимаемые файлом, организуются в цепочку кластеров (cluster chain). Количество файлов на диске не может превышать количества кластеров (элементов FAT). Расположение файлов в кластерах определяется с помощью таблицы размещения файлов FAT, в которой каждому кластеру соответствует свой элемент. Для того, чтобы прочитать файл целиком, необходимо найти его элемент в каталоге и считать первый кластер, на который ссылается этот элемент, — это будет начало файла. Далее следует прочитать соответствующий ему элемент FAT и определить, является ли он последним. Если он не последний, то он показывает номер следующего кластера цепочки, который также должен быть считан в «хвост» ранее считанным кластерам. Когда очередь дойдет до последнего кластера в цепочке, следует отсечь лишние данные, если файл кончается не по границе кластера. Отсечение выполняется по длине файла, указанной в элементе каталога.
Кроме этого FAT содержит информацию о свободных кластерах, соответсвущие элементы таблицы будут содержать 0.
Приведен пример распыления файла, который начинается в 5384 кластере, а заканчивается в 5391 кластере.
5384 5385 | 5385 5390 | 5386 | 5387 | ||
5388 | 5389 | 5390 5391 | 5391 EOF | EOF | |
5384 – номер кластера.
- его содержание.
Таблица 4 Пример заполнения FAT
Таблица FAT может иметь 12-, 16- или 32-разрядный формат. Разрядность ячейки FAT определяется типом файловой системы.. При этом в таблице для хранения информации об одном кластере используется 12,16 или 32 бит.
12-битовый формат удобен для дискет с небольшим количеством секторов — вся FAT помещается в одном секторе диска.
Если размер диска таков, что для представления всех секторов недостаточно 12-ти разрядов, можно увеличить размер кластера, например, до восьми секторов. Однако большой размер кластера приводит к неэффективному использованию дискового пространства. Это происходит из-за того, что минимальный фрагмент дисковой памяти, выделяемый файлу, имеет слишком большой размер. Даже для файла размером 1 байт выделяется целый кластер. Значит, если размер кластера составляет 8 секторов, то для хранения одного байта будет использовано 4 КБайт дисковой памяти.
При использовании 16-битного формата таблицы FAT операционная система может работать с диском, который имеет размер более 32 МБайт. В файловой системе FAT32 как элементы FAT, так и номера секторов 32-разрядные. Это значит, что максимальный размер диска теперь 2 ТБайт (2199023255552 байт).
FAT32 намного эффективнее расходует дисковое пространство. FAT32 использует дисковые кластеры меньшего размера по сравнению с предыдущими версиями. FAT32 также может использовать резервную копию FAT вместо стандартной. В FAT32 нет ограничений на число записей в корневом каталоге, что особенно важно, поскольку под длинное имя используется несколько записей каталога.
FAT16 является небольшой файловой системой и поэтому ее FAT-таблица целиком кэшируется, а у файловой системы FAT32 кластеры небольшие, зато она сама большая и поэтому ее FAT-таблица полностью не кэшируется. Поэтому быстродействие файловой системы FAT16 гораздо выше, чем у FAT32.
Дата добавления: 2015-08-09; просмотров: 105 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Файлы и каталоги | | | Длинные имена |