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

Индексация имён файлов.

Здесь мы будем говорить о структуре каталогов NTFS. Каталог в NTFS представляет собой индекс имён файлов, то есть список имён, упорядоченных по любому признаку. В настоящий момент упорядочивание файлов происходит только по имени. Для индексации или упорядочивания используется b+ дерево.

Стандартная Имя Корень Размещение Битовая

информация индекса индекса карта

“\” f4 f10 f15

0 1 2 3

f0 f1 f3

8 9 10 11

f11 f12 f13 f14

4 5 6 7

f6 f8 f9

В случае больших каталогов списки файлов располагаются в отрезках. Атрибут корень индекса содержит первый уровень структуры b+ дерева и указывает на индексные буферы, содержащие следующий уровень. То есть в данном случае корень индекса создаёт только несколько имён. Атрибут корень индекса и каждый отрезок, содержащий список файлов, содержащий имя файла, файловую ссылку на запись MFT, метку времени и информацию о размере файла. Эта информация дублируется из соответствующих записей. Дублируется для того, чтобы ускорить просмотр. Атрибут размещения индекса содержит отображение VCN-LCN для индексных буферов.

Битовая карта.

Используется для отслеживания того, какие VCN в индексных буферах заняты, а какие свободны. Каждый индексный буфер размером 2 Кб может содержать около 15 записей для имён файлов. Это 3-4 записи на кластер, размером 512 байт. Рассмторим пример. Файл f4 – это элемент первого уровня b+ дерева, он указывает на индексный буфер, содержащий имена файлов, которые меньше чем f4 (в смысле символа). Например, мы создали файл с именем f31. Он будет расположен раньше, чем f4.

Хранение имён файлов в виде b+ дерева даёт следующие преимущества:

  1. Поиск в каталоге выполняется быстрее.

  2. Так как b+ дерево имеет тенденцию к росту в ширину, а не в глубину, то скорость поиска не уменьшается с ростом каталогов.

Восстанавливаемость ntfs.

NTFS представляет собой восстанавливающуюся файловую систему. Файловые системы делятся на

  1. Файловые системы с точной записью.

  2. Файловые системы с отложенной записью или восстанавливающиеся файловые системы.

Файловые системы с точной записью организованы таким образом, чтобы после сбоя были повреждены некритические участки структуры файловой системы, например, любая файловая опера-ция распадается на ряд подопераций. Например, авария произошла при копировании файлов:

  1. Производится запись в кластеры диска.

  2. Кластеры помечаются как занятые.

  3. Записывается информация о файле в подкаталог.

То есть в этом случае если будет сбой, то максимальный урон, который может быть – это будет потерян доступ к части кластеров. Запись на диск производится сразу же. Пример файловой системы с точной записью – это файловая система DOS.

Файловые системы с отложенной записью. Информация предварительно записывается в кэш, а затем кэш сбрасывется на диск. Преимуществом данного метода является высокая скорость работы. Обеспечивается при помощи техники обработки транзакции и техники протоколирования. Прежде чем выполнить над содержимым диска какую-либо операцию, изменяющую файловую структуру, NTFS записывает эту транзакцию в файл журнала транзакций. Таким образом, в случае сбоя системы незавершённые транзакции можно повторить или отменить после перезагрузки компьютера. Средства протоколирования NTFS состоят из двух компонент, это:

  1. Журнал транзакций.

  2. Сервис журнала транзакций (LFS – Log File Service).

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

Копия 1 Копия 2 Запись журнала

область рестарта область протоколирования

контрольная точка

Область рестарта содержит указатель на контрольную точку. Контрольна точка – это точка, с которой надо восстанавливать файловую систему. Копия контрольной точки создаётся для надёжности. Для идентификации записи, помещённой в журнал транзакций LFS использует номера логических последовательностей LSN (Logical Sequence Numbers). Номер LSN постоянно увеличи-вается. Область протоколирования используется циклически. После восстановления эта область становится доступной. В процессе восстановления NTFS вызывает LFS для чтения-записи журнала в прямом направлении, чтобы просмотреть все транзакции, которые были запртоколированы но не были записаны на диск в момент сбоя и в обратном направлении, чтобы откатить транзакции.