Каталоги NTFS
Каждый каталог представляет собой одну запись в таблице MFT, которая содержит атрибут Index Root. Этот атрибут содержит список файлов, входящих в каталог.
Имеется две формы хранения списков файлов.
Небольшие каталоги.Если количество файлов небольшое, то список файлов хранится в резидентной записи MFT. Список содержит имя файла и номер записи MFT
SI | FN | IR <a1.exe,45> <d3.bat,78> <err.pas,67><f5.exe,345> | SD | Запись MFT |
Большие каталоги. По мере того, как каталог заполняется файлами, список имен не будет умещаться в резидентной части и понадобится нерезидентная форма хранения. Но начальная часть списка всегда будет резидентной. Имена файлов, которые хранятся в резидентной части, будут являться узлами бинарного дерева. Остальная часть списка будет храниться вне таблицы MFT, для этого используется атрибут Index Allocation, который содержит адреса отрезков, то есть место на диске, в которых хранятся остальные списки файлов каталога. Имена файлов сортируются по алфавиту. Узлы двоичного дерева делят весь список файлов на несколько групп. Файлы – узлы хранятся в резидентной части, в атрибуте Index Root. Имя каждого файла-узла является последним в соответствующей группе. Атрибут Index Allocation содержит адрес соответствующей группы списка файлов.
SI | FN | IR <f1.exe,45> <NM1.doc,267> | IA Vcn, Lcn, k Vcn, Lcn, k Vcn, Lcn, k | SD |
IR <a1.exe,3> <b4.doc,56> …. <f.exe,23> | ||||
IR <f12.exe,89> ……. <my_file1.doc,678> | ||||
<nn.xls,78> <qwery.xls, 67> …… <z2.doc, 789> |
Поиск файла в каталоге происходит по его символьному имени. Сначала имя файла сравнивается с первым именем в резидентной части, если имя меньше, это значит, что файл принадлежит первой группе. Из атрибута Index Allocation извлекается адрес отрезка, содержащего имена первой группы. Затем поиск в группе осуществляется прямым перебором имен. Когда найдено совпадение имен, определяется номер основной записи о файле, по которой определяются характеристики файла и его месторасположение на диске.
Если имя файла было больше первого имени в резидентной части, то сравнивается второе имя и т.д.
Если одна групп каталога становится слишком большой, то ее также делят на группы. К исходному нерезидентному атрибуту Index Root добавляют атрибут Index Allocation, который будет содержать адреса отрезков новых групп. Поиск будет проходить в три этапа.
Файловая система NTFS обладает свойством восстанавливаемость файловой системы. Это свойство, которое гарантирует, что в случае отказа питания или краха системы, все начатые файловые операции, в которых проводится запись данных файла на диск, будут успешно завершены или отменены без каких-либо отрицательных последствий для работоспособности файловой системы.
С целью восстановления создается специальный системный файл – журнал транзакций (log file), который содержит данные о том, какая выполнялась файловая операция, с каким файлом или блоком данных, какое старое и новое значение данных блока. Эта информация используется для повторения действий с данными. Применяется упреждающее протоколирование, то есть запись данных вперед, которая заключается в том, что запись в журнал делается раньше, чем изменение данных. Только после успешной записи в журнал всей последовательности подопераций файловой операции, делаются изменения в самих данных. Если операция с файлом проведена успешно, то делается отметка о завершении транзакции. Обеспечивается восстановление только системной информации. В журнал транзакций записываются только действия с системными файлами, в том числе и при использовании дискового КЭШа. Сохранность данных пользователя не гарантируется, пользовательские данные, которые были записаны в кэш и не успели переписаться на диск восстановлению не подлежат.
Дата добавления: 2015-08-11; просмотров: 1262;