Под
файловой системой с точки зрения жесткого диска следует понимать систему
разметки раздела на служебные и пользовательские блоки для упорядоченного
хранения информации. Служебные блоки описывают состояние
пользовательских блоков, которые могут быть заняты файлами, либо
свободными. В задачи файловой системы входит:
- Управление
выделением свободных блоков под новые файлы
- Управление
каталогами и именами файлов и ссылок
- Поиск
содержимого файлов по имени.
Различные
файловые системы с разной степенью эффективности реализуют перечисленные
функции, а также поддерживаются различными файловыми системами. Наиболее
часто встречающиеся файловые системы перечислены ниже.
наверх
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, хотя
и является более примитивной, но допускает восстановление
нефрагментированного файла по записи в каталоге, которая
указывает непосредственно первый кластер файла и его размер.
наверх