Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ОС.docx
Скачиваний:
44
Добавлен:
22.09.2019
Размер:
3.18 Mб
Скачать

53. Журнал lfs (структура, типы записей) для протоколирования работы ntfs. (Лекция 11)

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

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

Ж урнал транзакций: Используется несколько типов записей. Это записи модификации и записи контрольной точки.

Записи модификации. Большинство записей в журнале - это запись модификации. Каждая запись модификации содержит два вида информации:

1.      Информация для повтора, которая содержит сведения о том, как вновь применить к тому подоперацию полностью запротоколированной подтверждённой транзакции. Если сбой системы произошёл до того, как транзакция была переписана из кэша на диск. Если какая-либо операция выполнена, то её надо повторить.

2.      Информация для отмены. Это сведения о том, как устранить изменения, вызванные первой операцией транзакции, которая в момент сбоя была запротоколирована лишь частично, то есть не подтверждена.

Ниже записи модификации в журнале транзакций для операции создания файла.

            В журнал транзакций записано три модификации. Рассмотрим первую запись T1a.

T1a.     Повтор. Выделить и инициализировать файловую запись в MFT.

Отмена. Освободить файловую запись в MFT.

T1b.     Повтор. Добавить имя файла в каталог.

            Отмена. Удалить имя файла из каталога.

T1c.     Повтор. Установить биты 3-9 в битовой карте. Пометить кластеры как занятые.

            Отмена. Очистить биты 3-9 в битовой карте. Пометить кластеры как свободные.

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

При восстановлении после сбоя NTFS просматривает журнал и восстанавливает все подтверждённые транзакции, то есть NTFS ещё раз повторяет подтверждённую транзакцию. Это сделано для большей надёжности. После повтора всех подтверждённых транзакций NTFS отыскивает транзакции, которые не были подтверждены в момент сбоя и откатывает каждую запротоколированную операцию.

З апись контрольной точки помогает NTFS определить, какая обработка необходима для тома после сбоя. Благодаря записи контрольной точки NTFS знает, как далеко ей надо пройти, чтобы начать восстановление. После восстановления после сбоя NTFS считает журнал пустым.

Состав: область перезапуска (restart area) и область протоколирования (logging area). Записи в области протоколирования имеют 64-битный номер логической последовательности (logical sequence number - LSN).

Транзакции представлены цепочками записей. Периодически в журнале устанавливается «контрольная точка», фиксирующая перечни транзакций.

Типы записей: - запись модификации (update records); - записи контрольной точки (checkpoint records); - таблицы измененных страниц (dirty page table);- таблица транзакций (transaction table).

Запись модификации: содержит информацию для повтора (redo) и для отмены (undo). Транзакция состоит из цепочки записей модификации, завершенной записью с флагом фиксации транзакции. Операция контрольной точки – сохранение в журнал сведений о состоянии кэша и транзакций, состоит из трех записей. Позволяет определить, сколько записей с конца журнала необходимо для восстановления NTFS.

Таблица измененных страниц – перечень LSN операций зафиксированных транзакций, выполненных в кэше, но не отраженных на диск. При восстановлении их надо сбросить на диск. Таблица транзакций – перечень LSN операций, входящих в начатые, но незафиксированные транзакции. При восстановлении их надо отменить. Запись контрольной точки – признак завершения операции контрольной точки. Номер LSN последней записи контрольной точки хранится в области загрузки.