Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сппо_лекция_04.doc
Скачиваний:
20
Добавлен:
24.09.2019
Размер:
330.24 Кб
Скачать

Структура тома с файловой системой ntfs

Прежде всего, одним из основных понятий, используемых при работе с NTFS, яв­ляется понятие тома (volume). Том означает логическое дисковое пространство, которое может быть воспринято как логический диск, то есть том может иметь букву (буквенный идентификатор) диска. Частным случаем тома является логи­ческий диск. Возможно также создание отказоустойчивого тома, занимающего несколько разделов, то есть поддерживается использование RAID-технологии. RAID — это сокращение от Redundant Array of Inexpensive Disks, что дословно переводится как «избыточный массив недорогих дисков». RAID-технология по­зволяет получать дисковые подсистемы из нескольких обычных дисков, которые обладают либо существенно более высоким быстродействием, либо более высо­кой надежностью, либо тем и другим одновременно, К сожалению, в файловой си­стеме NTFS5, применяемой в Windows 2000/ХР, для использования RAID-техноло­гии в случае, когда эти системы устанавливаются не поверх старой системы Windows NT 4.0, а заново, требуются так называемые динамические диски. Это фирменный за­крытый стандарт распределения дискового пространства, не имеющий ничего об­щего с тем промышленным стандартом, который использует главную загрузочную запись и был описан в предыдущей главе. Основным недостатком нового стандар­та от Microsoft является абсолютная несовместимость с другими операционными системами. Другими словами, если жесткий диск с помощью оснастки Управле­ние дисками был преобразован в динамический, то на этот компьютер более не удастся установить никакую операционную систему, а установленные ранее сис­темы, отличные от Windows 2000/ХР/2003, не смогут даже запуститься. Кроме этого, обратное преобразование динамического диска до так называемой «базовой модели» (так компания Microsoft назвала промышленный стандарт описания ло­гической структуры диска) невозможно без полной потери данных. Единствен­ным достоинством динамической модели дисков является возможность преобра­зования томов или изменения размера логического диска прямо «на лету», то есть без последующей обязательной перезагрузки операционной системы. Технологию изменения размеров дисковых томов «на лету» разработала фирма Veritas Software. Компания Microsoft лицензировала эту технологию, ввела дополнительные огра­ничения на ее использование и назвала динамическими дисками.

Как и многие другие файловые системы, NTFS делит все полезное дисковое про­странство тома на кластеры — блоки данных, адресуемые как единицы данных. Файловая система NTFS поддерживает размеры кластеров от 512 байт до 64 Кбайт; неким стандартом же считается кластер размером 2 или 4 Кбайт. К сожалению, при увеличении размера кластера свыше 4 Кбайт становится невозможным сжи­мать файлы и каталоги.

Все дисковое пространство в NTFS делится на две неравные части (рис. 6.6). Пер­вые 12 % диска отводятся под так называемую зону MFT (Master File Table — глав­ная таблица файлов). Эта зона предназначена для таблицы MFT (с учетом ее буду­щего роста), представляющей собой специальный файл со служебной информацией, позволяющей определять местонахождение всех остальных файлов. Запись каких-либо данных в зону MFT невозможна — она всегда остается пустой, чтобы при росте MFT по возможности не было фрагментации. Остальные 88 % тома пред­ставляют собой обычное пространство для хранения файлов.

Рис. 6. Структура тома NTFS

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

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

Таблица 6. Метафайлы NTFS

Имя метафайла

Описание

$MFT

SMFTmirr

$LogFile $Volume

$AttrDef

$ SBitmap

$Boot

Сам файл с таблицей MFT

Копия первых 16 записей таблицы MFT, размещенная посередине тома

Файл журнала

Служебная информация — метка тома, версия файловой системы т. д.

Список стандартных атрибутов файлов на томе

Корневой каталог

Битовая карта свободного места тома Загрузочный сектор (если раздел загрузочный)

$Quota

SUpcase

Файл, в котором записаны права пользователей на использование дискового пространства (этот файл начал использоваться лишь в Windows 2000 с системой NTFS 5.0)

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

Итак, все файлы тома представлены в таблице MFT. За исключением собственно данных, в этой структуре хранится вся информация о файлах: имя файла, размер, положение на диске отдельных фрагментов и т. д. Если для информации не хвата­ет одной записи MFT, то используются несколько записей, причем не обязательно последовательных. Если файл имеет не очень большой размер, тогда в ход идет довольно удачное решение: данные файла хранятся прямо в соответствующей за­писи таблицы MFT в оставшемся от служебных данных месте. Таким образом, файлы, занимающие не более сотни байтов, обычно не имеют своего «физическо­го» воплощения в основной файловой области — все данные таких файлов хра­нятся прямо в таблице MFT, Файл на томе в системе NTFS идентифицируется так называемой файловой ссыл­кой (file reference), которая представляется как 64-разрядное число. Файловая ссыл­ка состоит из номера файла, который соответствует позиции его файловой записи в таблице MFT, и номера последовательности. Последний увеличивается всякий раз, когда данная позиция в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки целостности.

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

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

Таблица 7. Атрибуты файлов в системе NTFS

Системный атрибут

Описание атрибута

Стандартная информация о файле

Традиционные атрибуты («только для чтения», «скрытый», «архивный», «системный»), отметки времени, включая время создания или последней модификации, число каталогов, ссылающихся на файл

Список атрибутов

Список атрибутов файла и файловая ссылка на запись в таблице MFT, в которой расположен каждый из атрибутов. Файловая ссылка используется, если файлу необходимо более одной записи в MFT

Имя файла

Имя файла в кодировке Unicode. Файл может иметь несколько имен, подобно тому как это имеет место в UNIX. Это случается, когда имеется связь POSIX к данному файлу или если у фа,йла есть автоматически сгенерированное имя в формате 8.3

Дескриптор защиты

Структура данных, соответствующая списку управления доступом (ACL) и предохраняющая файл от несанкционированного доступа. Дескриптор защиты определяет, кто владелец файла и кто имеет те или иные разрешения доступа к нему

Данные

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

Корень индекса, размещение индекса, битовая карта (только для каталогов)

Атрибуты, используемые для индексов имен файлов в больших каталогах

Расширенные атрибуты HPFS

Атрибуты, используемые для реализации расширенных атрибутов HPPS для подсистемы OS/2, а также OS/2-клиентов файл-серверов Windows NT

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]