Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Нерезидентные атрибуты



Тело нерезидентного атрибута хранится вне MFT, в одном или нескольких кластерах, перечисленных в заголовке данного атрибута в специальном списке. Если 8-разрядное поле, расположенное по смещению 08h байт от начала атрибутного заголовка, если единице – атрибут считается нерезидентным. Длина нерезидентного атрибута равна сумме длин его тела и заголовка (т.е., если к смещению атрибута добавить его длину, мы получим указатель на следующий атрибут или маркер конца, если текущий атрибут – последний в цепочке). У нерезидентных атрибутов для хранения длины их тела используется множество полей. Реальный размер тела атрибута (real size of attribute), выраженный в байтах, хранится в 64-разрядном поле, находящемся по смещению 30h байт от начала атрибутного заголовка. Следующее за ним 64-разрядное поле хранит инициализированный размер потока (initialized data size of the stream), выраженный в байтах и судя по всему всегда равный реальному размеру тела атрибута. 64-разрядное поле, расположенное со смещением 28h байт от начала атрибутного заголовка, хранит выделенный размер (allocated size of attribute), выраженный в байтах и равный реальному размеру тела атрибута округленному до размера кластера (в большую сторону).

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

16-разрядное поле, расположенное со смещением 20h от начала атрибутного заголовка, содержит указатель на массив Data Runs, расположенный внутри этого заголовка и описывающий логический порядок размещения нерезидентного тела атрибута на диске. На рисунке показана структура нерезидентного атрибута.

38. Записи главной файловой таблицы NTFS (MFT) для резидентных атрибутов и для нерезидентных атрибутов. Виртуальные и логические номера кластеров.

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

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

Атрибуты можно разделить на резидентные и нерезидентные. Если атрибут резидентный, то область данных атрибута находится непосредственно в теле самого атрибута. Если же атрибут нерезидентный, то он содержит только список ссылок на кластеры раздела, в которых находятся данные. Обычно нерезидентным является содержимое файла и дескриптор защиты.

Каждый атрибут в записи о файле идентифицируется кодом типа атрибута, имеет значение и необязательное имя. Значение атрибута представляет собой байтовый поток. Так, значением атрибута $FILE_NAME является имя файла, зна­чением атрибута $DATA – произвольный набор байтов, сохранённых пользователем в файле.

У большинства атрибутов нет имени, хотя у $DATA и атрибутов, связанных с индексом, они обычно есть. Имена позволяют различать атрибуты файла, отно­сящиеся к одному типу. Например, в файле с именованным потоком данных есть два атрибута $DATA: неименованный атрибут $DATA, хранящий неименованный по умолчанию поток данных, и именованный атрибут $DATA с именем дополнительного потока данных.

39. Структура больших файлов и каталогов в NTFS. Индексация файлов в NTFS.





Дата публикования: 2014-11-03; Прочитано: 816 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...