Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Структура файлов ntfs

Каждый файл и каталог на томе NTFS состоит из набора атрибутов.

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

Каждый атрибут файла NTFS состоит из полей: типа, длины, значения и, возможно, имени атрибута. Тип атрибута, длина и имя образуют заголовок атрибута.

Существует системный набор атрибутов, определяемых структурой тома NTFS. Системные атрибуты имеют фиксированные имена и коды их типа, а также определенный формат. Могут применяться также атрибуты, определяемые пользователями. Их имена, типы и форматы задаются исключительно пользователем. Атрибуты файлов упорядочены по убыванию кода атрибута, причем атрибут одного и того же типа может повторяться несколько раз. Существует два способа хранения атрибутов файла — резидентное хранение в записях таблицы MFT и нерезидентное хранение вне ее, во внешних отрезках. Таким образом, резидентная часть файла состоит из резидентных атрибутов, а нерезидентная — из нерезидентных атрибутов. Сортировка может осуществляться только по резидентным атрибутам.

Системный набор включает следующие атрибуты:

  • список атрибутов (Attribute List), из которых состоит файл, содержит ссылки на номер записи MFT, где расположен каждый атрибут (этот редко исполь­зуемый атрибут нужен только в том случае, если атрибуты файла не умеща­ются в основной записи и занимают дополнительные записи MFT);

  • имя файла (File Name) — длинное имя файла в формате Unicode, а также номер входа в таблице MFT для родительского каталога; если этот файл содержится в нескольких каталогах, то у него будет несколько атрибутов типа File Name; этот атрибут всегда должен быть резидентным;

  • имя MS-DOS (MS-DOS Name) — содержит имя файла в формате 8.3;

  • версия (Version) — номер последней версии файла;

  • дескриптор безопасности (Security Descriptor) — информация о защите файла, включая список прав доступа ACL (права доступа к файлу рассматриваются далее в разделе «Контроль доступа к файлам») и поле аудита, которое определяет, какого рода операции над этим файлом нужно регистрировать;

  • версия тома (Volume Version) используется только в системных файлах тома;

  • имя тома (Volume Nam);

  • данные (Data) — обычные данные файла;

  • битовая карта MFT (MFT bitmap) — карта использования блоков на томе;

  • корень индекса (Index Root) — корень В-дерева, используемого для поиска файлов в каталоге;

  • размещение индекса (Index Allocation) — нерезидентные части индексного списка В-дерева;

  • стандартная информация (Standard Information) — этот атрибут хранит всю остальную стандартную информацию о файле, которую трудно связать с каким-либо из других атрибутов файла, например время создания файла, время обновления и другие.

  • Файлы NTFS в зависимости от способа размещения делятся на небольшие, большие, очень большие и сверхбольшие.

Небольшие (small) файлы. Если файл имеет небольшой размер, то он может целиком располагаться внутри одной записи MFT, имеющей, например, размер 2 Кбайт. Небольшие файлы NTFS состоят, по крайней мере, из следующих атрибутов (рис. 7.22):

  • стандартная информация (Standard Information, SI);

  • имя файла (File Name, FN);

  • данные (Data);

  • дескриптор безопасности (Security Descriptor, SD).

Рис. 7.22. Небольшой файл NTFS

Из-за того, что файл может иметь переменное количество атрибутов, а также из-за переменного размера атрибутов нельзя наверняка утверждать, что файл уместится внутри записи. Однако обычно файлы размером менее 1500 байт помещаются внутри записи MFT (размером 2 Кбайт).

Большие (large) файлы. Если данные файлы не помещаются в одну запись MFT, то этот факт отражается в заголовке атрибута Data, который содержит признак того, что этот атрибут является нерезидентным, то есть находится в отрезках вне таблицы MFT. В этом случае атрибут Data содержит адресную информацию (LCN, VCN, k) каждого отрезка данных (рис. 7.23).

Рис. 7.23. Большой файл

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

Рис. 7.24. Очень большой файл

Эта ссылка содержится в атрибуте Attribute List. Сам атрибут данных по-прежнему содержит адреса нерезидентных отрезков данных.

Сверхбольшие (extremely huge) файлы. Для сверхбольших файлов в атрибуте Attribute List можно указать несколько атрибутов, расположенных в дополнительных записях MFT (рис. 7.25). Кроме того, можно использовать двойную косвенную адресацию — тогда нерезидентный атрибут будет ссылаться на другие нерезидентные атрибуты, в результате в NTFS не может быть атрибутов слишком большой для системы длины.