Master File Table (MFT - главная таблица файлов) в операционной системе Windows XP
Как и любая другая
система, NTFS делит все полезное место на кластеры -
блоки данных, используемые единовременно. NTFS
поддерживает почти любые размеры кластеров - от 512 байт
до 64 Кбайт, неким стандартом же считается кластер
размером 4 Кбайт. Никаких аномалий кластерной структуры
NTFS не имеет, поэтому на эту, в общем-то, довольно
банальную тему, сказать особо нечего.
Диск NTFS
условно делится на две части. Первые 12% диска отводятся
под так называемую MFT зону - пространство, в которое
растет метафайл MFT (об этом ниже). Запись каких-либо
данных в эту область невозможна. MFT-зона всегда
держится пустой - это делается для того, чтобы самый
главный, служебный файл (MFT) не фрагментировался при
своем росте. Остальные 88% диска представляют собой
обычное пространство для хранения файлов.
Master File Table (MFT - главная таблица файлов) в
операционной системе Windows XP.
Свободное место диска, однако,
включает в себя всё физически свободное место -
незаполненные куски MFT-зоны туда тоже включаются.
Механизм использования MFT-зоны таков: когда файлы уже
нельзя записывать в обычное пространство, MFT-зона
просто сокращается (в текущих версиях операционных
систем ровно в два раза), освобождая таким образом место
для записи файлов. При освобождении места в обычной
области MFT зона может снова расширится. При этом не
исключена ситуация, когда в этой зоне остались и обычные
файлы: никакой аномалии тут нет. Что ж, система
старалась оставить её свободной, но ничего не
получилось. Жизнь продолжается... Метафайл MFT все-таки
может фрагментироваться, хоть это и было бы
нежелательно.
MFT и его структура Файловая система NTFS
представляет собой выдающееся достижение структуризации:
каждый элемент системы представляет собой файл - даже
служебная информация. Самый главный файл на NTFS
называется MFT, или Master File Table - общая таблица
файлов. Именно он размещается в MFT зоне и представляет
собой централизованный каталог всех остальных файлов
диска, и, как не парадоксально, себя самого. MFT поделен
на записи фиксированного размера (обычно 1 Кбайт), и
каждая запись соответствует какому либо файлу (в общем
смысле этого слова). Первые 16 файлов носят служебный
характер и недоступны операционной системе - они
называются метафайлами, причем самый первый метафайл -
сам MFT. Эти первые 16 элементов MFT - единственная
часть диска, имеющая фиксированное положение. Интересно,
что вторая копия первых трех записей, для надежности -
они очень важны - хранится ровно посередине диска.
Остальной MFT-файл может располагаться, как и любой
другой файл, в произвольных местах диска - восстановить
его положение можно с помощью его самого, "зацепившись"
за самую основу - за первый элемент MFT.
Как уже
было сказано выше, MFT состоит из массива записей
размеров 1 Кб. Каждая запись идентифицирует один файл,
расположенный на диске. При создании файла NTFS находит
пустую запись в MFT, затем заполняет ей информацией о
создаваемом файле. Можно привести инфоррмацию о составе
информации, записываемой в главную таблицу файлов.
Тип информации |
Описание |
Стандартная информация |
Атрибуты файла, например "Read Only",
"скрытый", "системный", время создания,
последнего доступа, последнего измененения,
счетчик жестких связей файла. |
Имя |
Имя файла или папки в кодировке Unicode.
Если файл имеет жесткие связи, аттрибутов имени
файла может быть несколько |
Дескриптор безопасности |
Структура, хранящая данные безопасности,
ассоциированные с файлом, управляющим доступом
пользователя к файлу. |
Данные |
Содержимое файла; папки не имеют этого типа
информации. | |
Метафайлы Первые 16 файлов NTFS (метафайлы)
носят служебный характер. Каждый из них отвечает за
какой-либо аспект работы системы. Преимущество настолько
модульного подхода заключается в поразительной гибкости
- например, на FAT-е физическое повреждение в самой
области FAT фатально для функционирования всего диска, а
NTFS может сместить, даже фрагментировать по диску, все
свои служебные области, обойдя любые неисправности
поверхности - кроме первых 16 элементов MFT.
Метафайлы находятся корневом каталоге NTFS диска
- они начинаются с символа имени "$", хотя получить
какую-либо информацию о них стандартными средствами
сложно. Любопытно, что и для этих файлов указан вполне
реальный размер - можно узнать, например, сколько
операционная система тратит на каталогизацию всего
вашего диска, посмотрев размер файла $MFT. В следующей
таблице приведены используемые в данный момент метафайлы
и их назначение.
$MFT |
сам MFT |
$MFTmirr |
копия первых 16 записей MFT, размещенная
посередине диска |
$LogFile |
файл поддержки журналирования (см.
ниже) |
$Volume |
служебная информация - метка тома, версия
файловой системы, т.д. |
$AttrDef |
список стандартных атрибутов файлов на
томе |
$. |
корневой каталог |
$Bitmap |
карта свободного места тома |
$Boot |
загрузочный сектор (если раздел
загрузочный) |
$Quota |
файл, в котором записаны права пользователей
на использование дискового пространства (начал
работать лишь в NT5) |
$Upcase |
файл - таблица соответствия заглавных и
прописных букв в имен файлов на текущем томе.
Нужен в основном потому, что в NTFS имена файлов
записываются в Unicode, что составляет 65 тысяч
различных символов, искать большие и малые
эквиваленты которых очень
нетривиально. | |
Поскольку
ОС Windows XP широко использует механизм доступа к
ресурсам с помощью ярлыков, на жестком диске хранится
большое количество файлов с расширением .lnk. Кроме
этого, на жестком диске находится множество файлов
Desktop.ini. Описаннная выше схема хранения информации
файлов в MFT позволяет держать данные небольших файлов в
опеоативной памяти, что резко повышает
производительность системы...
Источник: www.onlyxp.narod.ru
|