Файловые системы

  Введение в ФС
     
  ФС FAT16
     
  ФС FAT32
     
  ФС NTFS
     
  ФС HPFS
     
  Back to beginning Назад к оглавлению

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

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

FAT 16. Эта файловая система является одной из самых старых систем, применяемых до сих пор. Поддержка ее реализована в большинстве современных ОС: DOS, Windows 95/98/ME, Windows NT/2000/XP, OS/2, Linux, QNX, FreeBSD и других. Название файловой системы происходит от имени ее главного управляющего элемента œ таблицы размещения файлов (File Allocation Table). Единицей размещения данных является кластер, œ совокупность нескольких смежных блоков диска. Размер кластера может быть 1, 2, 4, 8, 16, 32 или 64 блока. Файлы представляют собой цепочки кластеров. Таблица размещения файлов описывает цепочки кластеров, принадлежащих каждому файлу. Каждый кластер может принадлежать не более, чем одному файлу. Число 16 в названии файловой системы говорит о количестве двоичных разрядов, отводимых под хранение номера кластера в таблице размещения файлов. FAT16 допускает на диске до 65525 кластеров, размер которых может быть от 512 до 32768 байт. Это позволяет создавать логические диски размером до 2Гб. Чем больше размер диска, тем больше необходим размер кластера. Вообще говоря, большие кластеры снижают эффективность использования дискового пространства. Это связано с тем, что многие файлы являются короткими и часть места в кластере пропадает. Для большей надежности на диске хранится две копии FAT. Каждое изменение в размещении файлов одновременно отражается в обеих таблицах. Рассогласование этих таблиц является ошибкой. Если же рассогласование возникло, то не существует проверенного способа установить, какая из таблиц содержит более правильную информацию. Поэтому, наличие двух копий оправдано лишь в той ситуации, когда одна из копий просто физически не считывается с диска. Такая ситуация крайне маловероятна для жестких дисков, и является вероятной лишь для дискет. В самом деле, развитие систем FAT началось с системы FAT12, которая и до сих пор используется для дискет. В случае с дискетами физически отказ блока, принадлежащего одной копии FAT, никак не связан с отказом блока второй копии, поэтому наличие двух копий оправдано. Любая же программная ошибка при модификации FAT обычно синхронно отражается в обеих копиях. Во всяком случае, при исправном чтении обеих копий FAT существует проблема выбора правильной копии. Топология файловой системы FAT16 приведена на рисунке ниже.

Топология раздела FAT16

Кластеры пользователя располагаются непосредственно за корневым каталогом, размер которого задается при форматировании и впоследствии не изменяется операционной системой.

FAT32 Система FAT32 является развитием системы FAT. Количество разрядов, кодирующих номер кластера, доведено до 32. В результате этого, FAT32 способна содержать почти в 65000 раз больше кластеров, чем система FAT16. Даже при маленьком размере кластера, разделы размером до 2Тб могут быть отформатированы под эту файловую систему. Дополнительно, система FAT32 имеет резервную копию загрузочной записи, и допускает произвольное расположение корневого каталога. Система FAT32 доступна для использования начиная с Windows 95 OEM Release 2, в системах Windows 98, ME, а также в системах Windows 2000, XP. MS-DOS, Windows 3.1, Windows NT 3.51/4.0, ранние версии Windows 95 не могут использовать FAT32.

Топология раздела FAT32

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

NTFS. Файловая система NTFS является более сложной по сравнению с системами FAT. Для работы с ней требуется больше оперативной памяти, поэтому ее использование начинает оправдывать себя только на сравнительно производительных и требующих высокой надежности системах. NTFS применяется в операционных системах Windows NT, Windows 2000 и Windows XP. Не рекомендуется форматировать под NTFS разделы размером менее 400Мб, потому что значительная часть места «пропадает» под служебные структуры данных. В основе NTFS лежит структура данных, называемая MFT (Master File Table). MFT также является системным файлом, хранящим записи о других файлах. Каждая запись о файле имеет фиксированную длину. Запись содержит некоторую фиксированную информацию, общую для всех файлов, а также атрибуты файла, которые описывают имя файла, место расположения его данных, время и дату создания и пр. Каждый файл описывается одним числом, представляющим собой индекс в таблице MFT. Подобно системам FAT, система NTFS состоит из кластеров. Тем не менее, несколько усовершенствований сделано по сравнению с FAT. Кластеры могут иметь любой размер в секторах, кратный степени числа 2, вне зависимости от размера раздела. Кластеры заполняют весь раздел целиком, то есть кластер с номером 0 начинается сразу в начале раздела. Таким образом, по номеру кластера и его размеру однозначно вычисляется положения любого кластера на диске.


Топология раздела NTFS

Система NTFS допускает криптование файлов, хранение их в сжатом виде, журналирование файловых операций, индексирование файлов в каталогах по произвольному атрибуту, а не только по имени. Поиск файла в каталоге является более оптимизированной операцией, чем в системах FAT. Недостатком NTFS является то, что MFT является жизненно важной структурой, повреждение которой приводит к полной невозможности восстановить файлы, даже если они не фрагментированы. Запись в каталоге лишь ссылается на запись в MFT, которая содержит положение файла на диске в виде атрибута. Система FAT, хотя и является более примитивной, но допускает восстановление нефрагментированного файла по записи в каталоге, которая указывает непосредственно первый кластер файла и его размер.
наверх

HPFS. Данная файловая система разрабатывалась фирмой IBM и является далеким родственником NTFS. Она используется преимущественно в операционной системе OS/2, но поддерживается также в ранних версиях Windows NT. HPFS обладает лучшими характеристиками по сравнению с FAT, каталоги представлены в виде дерева, что позволяет довольно быстро искать необходимые файлы в больших каталогах, а также сортировать файлы по имени. Кластеры в этой файловой системе отсутствуют, выделение свободного места осуществляется посекторно. Весь раздел делится на участки длиной 8Мб, свободное место в каждом участке описывается битовой картой. Это упрощает выделение места под файлы, поскольку перемещение головой достаточно проводить к ближайшей битовой карте, а не к началу диска, как в системе FAT.Данная файловая система используется как основная файловая система для Linux.
наверх