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

Основные особенности файловой системы NTFS 5 по сравнению с предыдущими файловыми системами Microsoft



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

Размер кластера фиксирован для каждого тома и варьируется в пределах от 512 байт до 64 Кбайт в зависимости от размера тома (чаще всего 4 Кбайт).

Обращение к блокам осуществляется по их смещению от начала тома, для которого используются 64-разрядные числа. Таким образом, поддерживается 264 кластеров.

Все файлы на томе NTFS идентифицируются номером файла, который определяется позицией файла в MFT (Master File Table) - главной таблице файлов.

Порядковый номер кластера в томе NTFS называется логическим номером кластера (Logical Cluster Number, LCN). Файл NTFS также состоит из последовательности кластеров, при этом порядковый номер кластера внутри файла называется виртуальным номером кластера (Virtual Cluster Number, VCN).

Базовая единица распределения дискового пространства для файловой системы NTFS - непрерывная область кластеров, называемая отрезком. В качестве отрезка используется пара (LCN, К), где LCN - логический номер первого кластера, К - количество кластеров в отрезке. Таким образом, часть файла, помещенная в отрезок и начинающаяся с виртуального кластера VCN, характеризуется адресом, состоящим из трех чисел (VCN, LCN, К).

Структура тома NTFS показана на рис. 7.7. Загрузочный блок тома NTFS располагается в начале тома, а его копия - в середине тома. Загрузочный блок содержит стандартный блок параметров BIOS, количество блоков в томе, а также начальный логический номер кластера основной копии MFT и зеркальной копии.

Главной структурой данных в каждом томе является главная файловая таблица MFT (Master File Table), представляющая собой линейную последовательность записей 2-Кбайт размера. Каждая запись MFT описьвает один файл или каталог. В ней содержатся атрибуты файла, такие как его имя и временные штампы, а также список дисковых адресов, указывающих на расположение блоков файла.

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

Первые 16 записей MFT зарезервированы для файлов метаданных NTFS, как показано на рис. 7.7. Каждая запись описьвает файл, у которого есть атрибуты и блоки данных, как у любого файла. У каждого такого файла есть имя, начинающееся с символа доллара, указывающего на то, что это файл метаданных.

Первая запись (нулевая) описьвает сам файл MFT. В частности, она содержит информацию о расположении блоков файла MFT, что позволяет системе найти файл MFT.

Очевидно, чтобы найти всю остальную информацию о файловой системе, у операционной системы должен быть некий способ нахождения первого блока файла MFT. Номер первого блока файла MFT содержится в загрузочном блоке, куда он помещается при установке системы. Запись 1 представляет собой дубликат первой части файла MFT.

Эта информация является настолько ценной, что наличие второй копии может быть необходимо на случай, если один из первых блоков главной файловой таблицы вдруг станет дефектным. Запись 2 представляет собой журнал, в котором фиксируются все изменения, происходящие в файловой системе (добавление, удаление каталога, изменение атрибутов файлов и т. п.). Эта информация используется для восстановления файловой системы в случае сбоя во время выполнения операций. Запись 3 содержит информацию о томе - его размер, метку, версию и др. Запись 4 содержит ссылку на файл SAttrDef, который определяет атрибуты. В следующей, 5-й записи содержатся данные о корневом каталоге. Последний представляет собой файл, который может увеличиваться в размерах. Свободное место на диске учитывается с помощью бытового массива, который сам является файлом. Его атрибуты и дисковые адреса хранятся в записи 6 таблицы MFT. Следующая 7-я запись указывает на файл начальной загрузки. Запись используется для того, чтобы связать вместе все дефектные блоки и гарантировать, что они никогда не встретятся в файлах. Запись 9 содержит информацию о защите. Запись 10 используется для преобразования регистра. Для символов латиницы это преобразование не представляет проблем. Для других языков (армянский, грузинский и др.) этот вопрос не столь очевиден. Поэтому файл, соответствующий записи 10, содержит необходимые инструкции. Запись 11 представляет собой каталог, содержащий различные файлы для дисковых квот, идентификаторов объектов, точек повторного анализа и т. д. Последние четыре записи MFT зарезервированы на будущее.

Каждая запись MFT состоит из заголовка записи, за которым идет последовательность пар (заголовок атрибута, значение). Заголовок записи содержит магическое число, используемое для проверки действительности записи; порядковый номер, обновляемый каждый раз, когда запись используется для нового файла; счетчик обращений к файлу; действительное количество байт, используемых в записи; идентификатор (индекс, порядковый номер) базовой записи (используемый только для записи расширения), а также другие различные поля.

Следом за заголовком записи располагаются пары атрибут, значение. Каждый атрибут начинается с заголовка, идентифицирующего этот атрибут и сообщающего длину значения. В файловой системе NTFS определено 13 атрибутов, которые могут появляться в записях MFT. Они перечислены ниже.

­

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

Например, таким атрибутом является атрибут данных. Длина заголовков резидентных атрибутов 24 байт, заголовки для нерезидентных атрибутов длиннее, так как они содержат информацию о месте расположения атрибута. Стандартное информационное поле содержит сведения о владельце файла, информацию о защите, временные штампы, необходимые для стандарта POSIX, счетчик жестких связей, бит только чтение, архивный бит и т. д. Это поле имеет фиксированную длину и всегда присутствует. Имя файла хранится в кодировке Unicode в поле переменной длины.

В ОС NT/4.0 информация о защите файла могла содержаться в атрибуте файла, но в Windows 2000/2003 эти данные хранятся в отдельном файле, что позволяет нескольким файлам совместно пользоваться общими описателями защиты. Список атрибутов нужен на случай, если атрибуты не помещаются в запись MFT. Атрибут идентификатор объекта задает файлу уникальный номер. Точка повторного анализа велит процедуре, анализирующей имя файла, выполнить специальные действия. Этот механизм применяется для монтирования устройств и символьных ссылок. Два следующих атрибута используются только для идентификации тома. Еще три атрибута используются для реализации каталогов. Поток данных утилиты регистрации используется шифрующей файловой системой. Имя потока данных, если оно присутствует, располагается в заголовке атрибута Данные. Следом за этим заголовком располагается либо список дисковых адресов, определяющий положение файла на диске, либо-для файлов длиной всего в несколько сотен байтов (а таких файлов довольно много) — сам файл.

Метод помещения самого содержимого файла в запись MFT называется непосредственным файлом. Конечно, в большинстве случаев все данные файла не помещаются в запись MFT, поэтому этот атрибут, как правило, является нерезидентным.

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

Каждая запись начинается с заголовка, определяющего смещение первого блока в файле. За заголовком располагаются пары, в которых содержатся дисковые адреса и длины серий блоков. Файлы NTFS в зависимости от способа размещения делятся на небольшие,большие, очень большие и сверхбольшие. Из-за того, что файл может иметь переменное количество атрибутов, а также из-за переменного размера атрибутов нельзя наверняка утверждать, что файл уместится внутри записи.

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

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

Несколько слов о каталогах NTFS. Каждый каталог NTFS представляет собой один вход в таблицу MFT, который содержит атрибут Index Roof. Индекс содержит список файлов, входящих в каталог. Индексы позволяют сортировать файлы для ускорения поиска, основанного на значении определенного атрибута. Обычно в файловых системах файлы сортируются по имени. NTFS позволяет использовать для сортировки любой атрибут, если он хранится в резидентной форме.

Имеются две формы хранения списка файлов. Если количество файлов в каталоге невелико, то список файлов может быть резидентным в записи MFT, являющейся каталогом. Для хранения списка используется единственный атрибут - Index Roof. Список файлов содержит значения атрибутов файла. По умолчанию это имя файла и номер записи MFT, содержащий начальную запись файла.

По мере того как каталог растет, список файлов может потребовать нерезидентной формы хранения. Однако начальная часть списка всегда остается резидентной в корневой записи каталога в таблице MFT. Имена файлов резидентной части списка файлов являются узлами так называемого В-дерева (двоичного дерева). Остальные части списка файлов размещаются вне MFT. Для их поиска используется специальный атрибут Index Allocation, представляющий собой адреса отрезков, хранящих остальные части списка файлов каталога. Одни части списков являются листьями дерева, а другие являются промежуточными узлами, т. е. содержат наряду с именами файлов атрибут Index Location, указывающий на списки файлов более низких уровней.­





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



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