Как уже отмечалось, каждый файл и каталог в 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

Атрибуты Значение типа

атрибута

Описание
$STANDARD_INFORMATION 0x10 Информация о стандарте файла
$ATTRIBUTE_LIST 0x20 Используется для указания нерезидентных атрибутов
$FILENAME 0x30 Имя файла сохраняется как атрибут с несколькими потенциальными значениями, так как у файла может быть несколько имен (имя NTFS, имя DOS и закрепленные ссылки)
$VOLUME_VERSION 0x40 Атрибут определен, однако не используется в Windows NT 4.0. Удален из Windows 2000
$0BJECT_ID 0x40 Значение размером 64 байт, которое используется в Windows 2000 для отслеживания ссылок. Не применяется в более ранних версиях Windows NT. Дополнительная информация приводится в разделе 6.5.15
$SECURITY_DESCRIPTOR 0x50 Дескриптор безопасности (список управления доступом файла). Дополнительная информация приводится в разделе 6.5.6
$VOLUME_NAME 0x60 Имя тома. Содержится только в файле $Volume
$V0LUME_INFORMATION 0x70 Информация о томе. Содержится только в файле $Volume
$DATA 0x80 Пользовательские данные файла, которые сохраняются в атрибуте с несколькими потенциальными значениями, так как файлы NTFS могут иметь несколько потоков
$INDEX_R00T 0x90 Используется в больших каталогах
$INDEX_ALL0CATI0N OxAO Используется в больших каталогах
$BITMAP ОхВО Используется только в каталогах
$SYMB0LIC_LINK OxCO Атрибут определен, однако не используется в Windows NT 4.0
Атрибуты Значение типа

атрибута

Описание
$REPARSE_POINT ОхСО Наличие атрибута указывает на то, что файл метаданных содержит точки повторной обработки. Дополнительная информация предоставлена в разделе 6.5.22
$ЕА ОхЕО Расширенные атрибуты OS/2
$EA_INFORMATION OxDO Информация о расширенных атрибутах OS/2
$PROPERTY_SET OxFO Набор свойств. Атрибут определен, однако не используется в Windows NT

$LOGGED_UTILITY_STREAM 0x100

Используется EFS. Дополнительная информация предоставлена в разделе 6.5.20

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

На рис. 6.5 представлены данные файлов, сохраненные в виде нерезидентных атрибутов. В этом случае структура данных включает три элемента.

1. Виртуальный номер кластера (VCN), который указывает расположение кластера относительно начала файла. Например, виртуальный номер кластера, равный 0, указывает, что необходимый кластер является первым кластером атрибута файла.

2. Логический номер кластера (LCN), который указывает расположение кластера относительно тома или раздела. Например, логический номер кластера, равный 25, указывает, что необходимый кластер является 26-м кластером от начала тома или раздела.

3. Количество кластеров в определенной “цепочке”, т.е. количество кластеров в непрерывной последовательности, выделенных для хранения атрибутов файла.

Структура записи MFT

Рис. 6.5. Структура записи MFT

Если цепочка кластеров файла не помещается в одну запись MFT, он сохраняется в дополнительных записях MFT.

Кроме того, NTFS поддерживает несколько потоков данных. Поток, принятый по умолчанию, открывается при использовании функции CreateFile с именем файла в виде относительного или абсолютного пути. Указав имя файла и имя потока через двоеточие, можно открыть другой поток данных, например \directoryl\Filel :DataStream2. Файловая система NTFS хранит эту информацию как еще один атрибут в MFT, а данные второго потока хранит в виде другого атрибута.

6.5.2 логические и виртуальные номера кластеров ntfs | Системы хранения данных в Windows | 6.5.4 каталоги ntfs


Системы хранения данных в Windows



Новости за месяц

  • Март
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс