Файловая система NTFS
Виртуальный номер кластера позволяет вычислить местоположение атрибута, например смещения данных внутри файла, а логический номер кластера дает возможность вычислить смещение относительно тома или раздела для определенного блока данных. 6.5.3 Структура записи MFT в файловой системе NTFS
Как уже отмечалось, каждый файл и каталог в NTFS имеет собственную запись в главной'таблице файлов. Эта запись иногда упоминается как запись MFT. Каждая запись MFT имеет фиксированный размер, который определяется в момент форматирования диска и находится в диапазоне 1024–4096 байт. В Windows NT 3.51 запись MFT имела размер 4 Кбайт. В Windows NT 4.0 компания Microsoft изменила минимальный размер записи, чтобы он составлял 1 Кбайт или был равен размеру кластера, в зависимости от того, что больше. Это было сделано после проведения анализа, показавшего, что записи MFT чрезмерно занимают дисковое пространство.
Запись MFT содержит стандартный заголовок, после которого идет последовательность атрибутов, сохраняемых в такой форме:
заголовок атрибута;
название атрибута;
данные атрибута.
В качестве примера атрибутов можно указать имя файла, список управления доступом файла и данные файла. В табл. 6.5 приведена информация о разных атрибутах, которые может иметь файл или каталог NTFS.
Таблица 6.5. Атрибуты
NTFS
Окончание табл. 6.5
Если данные атрибута имеют небольшой размер, они будут сохранены непосредственно в записи MFT, Такие атрибуты называются резидентными. С другой стороны, если данные слишком велики для хранения в MFT, сохраняется информация о расположении этих данных (номера кластеров, в которых размещены необходимые данные). Такие атрибуты называются нерезидентными. Ничего особенного в этих атрибутах нет, поскольку любой атрибут может быть резидентным или нерезидентным.
На рис. 6.5 представлены данные файлов, сохраненные в виде нерезидентных атрибутов. В этом случае структура данных включает три элемента.
Виртуальный номер кластера (VCN), который указывает расположение кластера относительно начала файла. Например, виртуальный номер кластера, равный 0, указывает, что необходимый кластер является первым кластером атрибута файла.
Логический номер кластера (LCN), который указывает расположение кластера относительно тома или раздела. Например, логический номер кластера, равный 25, указывает, что необходимый кластер является 26-м кластером от начала тома или раздела.
Количество кластеров в определенной «цепочке», т.е. количество кластеров в непрерывной последовательности, выделенных для хранения атрибутов файла.
Рис.
6.5. Структура записи MFT
Если цепочка кластеров файла не помещается в одну запись MFT,
он сохраняется в дополнительных записях MFT.
Кроме того, NTFS
поддерживает несколько потоков данных. Поток, принятый по умолчанию, открывается при использовании функции CreateF'ils
с именем файла в виде относительного или абсолютного пути. Указав имя файла и имя потока через двоеточие, можно открыть другой поток данных, например : DataStream2.
Файловая система NTFS
хранит эту информацию как еще один атрибут в MFT,
а данные второго потока хранит в виде другого атрибута. 6.5.4 Каталоги NTFS
Это обычные файлы, которые содержат информацию о каталоге. Файловая система NTFS
хранит каталоги способом, ускоряющим просмотр их содержимого. Если данные каталога не помещаются в MFT,
то NTFS
выделяет кластер и последовательную структуру, аналогичную области хранения данных и другим атрибутам. Все записи каталогов хранятся в деревьях В+.