http://npc-news.ru/

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

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

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

  • для разделов емкостью 16-127 Мбайт — 4 сектора в кластере (размер кластера — 2 Кбайта);
  • для разделов емкостью 128-255 Мбайт — 8 секторов в кластере (4 Кб);
  • для разделов емкостью 256-511 Мбайт — 16 секторов в кластере (8 Кб);
  • для разделов емкостью 512-1023 Мбайт — 32 сектора в кластере (16 Кб);
  • для разделов емкостью 1024-2047 Мбайт — 64 сектора в кластере (32 Кб).

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

  • уменьшить размер таблицы FAT;
  • уменьшить фрагментацию файлов;
  • сокращается длина цепочек файла Þ ускоряется доступ к файлу.

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

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

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

  • Если кластер распределен какому-либо файлу (т.е., занят), то соответствующий элемент FAT содержит номер следующего кластера файла;
  • последний кластер файла отмечается числом в диапазоне FF8h — FFFh (FFF8h — FFFFh);
  • если кластер является свободным, он содержит нулевое значение 000h (0000h);
  • кластер, непригодный для использования (сбойный), отмечается числом FF7h (FFF7h).

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

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

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

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

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


Добавить комментарий

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>