- •Пособие
- •Файловые системы.
- •Файловая система fat
- •Контрольные вопросы
- •Файловые системы vfat и fat32
- •Контрольные вопросы
- •Файловая система hpfs
- •Контрольные вопросы
- •Файловая система ntfs
- •Надежность
- •Ограничения доступа к файлам и каталогам
- •Расширенная функциональность
- •Поддержка дисков большого объема
- •Структура тома с файловой системой ntfs
- •Структура тома ntfs
- •Разрешения ntfs
- •Применение разрешений ntfs
- •Контрольные вопросы
Структура тома 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).