Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по файловым системам.doc
Скачиваний:
11
Добавлен:
26.11.2018
Размер:
138.24 Кб
Скачать

Структура тома ntfs

MFT

Зона MFT

Зона для размещения файлов и каталогов

Копия первых 16 записей MFT

Зона для размещения файлов и каталогов

Очевидно, что структуру данных, называемую главной таблицей файлов, можно рассматривать как файл. В этом файле MFT хранится информация обо всех остальных файлов диска, в том числе и о самом файле MFT. Таблица MFT поделена на записи фиксированного размера в 1 Кбайт, и каждая запись соответствует какому-либо файлу (в общем смысле этого слова). Первые 16 файлов носят служебный характер и недоступны через интерфейс операционной системы – они называются метафайлами, причем самый первый метафайл – это сам файл MFT. Часть диска с метафайлами – единственная часть диска, имеющая строго фиксированное положение. Копия этих же 16 записей таблицы MFT (для надежности, поскольку они очень важны) хранится в середине тома. Оставшаяся часть файла MFT может располагаться, как и любой другой файл, в произвольных местах диска – восстановить его положение можно с помощью самого файла MFT. Для этого достаточно взять первую запись таблицы MFT.

Упомянутые первые 16 файлов NTFS (метафайлы) являются служебными; каждый из них отвечает за какой-нибудь аспект работы системы. Метафайлы находятся в корневом каталоге тома NTFS. Их имена начинаются с символа «$», хотя получить какую-либо информацию о них стандартными средствами сложно.

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

Файл на томе в системе NTFS идентифицируется так называемой файловой ссылкой (file reference), которая представляется как 64-разрядное число. Файловая ссылка состоит из номера файла, который соответствует позиции его файловой записи в таблице MFT, и номера последовательности. Последний увеличивается всякий раз, когда данная позиция в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки целостности.

Каждый файл на диске в системе NTFS представлен с помощью потоков данных, то есть у файла нет «просто данных», а есть «потоки данных». Чтобы правильнее понять эту сущность (поток данных), достаточно знать, что один из потоков имеет привычный нам смысл — это собственно данные файла. Кстати, большинство атрибутов файла (за исключением основных) — это тоже потоки данных. Таким образом, получается, что основой файла является номер записи в таблице MFT, а все остальное, включая его потоки данных, не обязательно. Данный подход довольно удобен. Так, файлу можно назначить еще один поток данных, записав в него любые данные, например информацию об авторе и содержании файла, как это сделано в Windows 2000 (эта информация представлена на одной из вкладок диалогового окна свойств файла). Здесь имеется определенная аналогия с расширенными атрибутами в HPFS. Интересно, что эти дополнительные потоки не видны стандартными средствами для работы с файлами операционной системы: наблюдаемый размер файла — это лишь размер потока основных (традиционных) данных. Можно, k примеру, удалить файл нулевой длины, и при этом освободится несколько мегабайтов свободного места — просто потому, что какая-нибудь «хитрая» программа или технология назначила ему поток дополнительных (альтернативных) данных такого большого размера. Однако на самом деле опасаться подобных ситуаций не следует (хотя гипотетически они возможны), поскольку пока механизм потоков данных в полной мере не используются. Просто необходимо иметь в виду, что файл в системе NTFS — это более глубокое и глобальное понятие, чем мы себе представляем.

Стандартные атрибуты файлов и каталогов на томе NTFS имеют фиксированные имена и коды типа (табл. 6.7).