Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Протоколирование транзакций



Проблемы, связанные с восстановлением файловой системы, могут быть решены при помощи техники протоколирования транзакций, которая сводится к следую­щему. В системе должны быть определены транзакции (transactions) — недели­мые работы, которые не могут быть выполнены частично. Они либо выполняются полностью, либо вообще не выполняются.

Незавершенная операция с диском несет угрозу целостности файловой системы. Каким образом файловая система может реализовать свойство транзакций. Решение в этом случае может быть одно — не­обходимо протоколировать (запоминать) все изменения, происходящие в рам­ках транзакции, чтобы на основе этой информации в случае прерывания тран­закции можно было отменить все уже выполненные подоперации, т. е сделать так наз. откат транзакции.

В файловых системах с кэшированием диска для восстановления системы после сбоя кроме отката незавершенных транзакций необходимо выполнить дополни­тельное действие — повторение зафиксированных транзакций. Когда происхо­дит сбой по питанию или крах ОС, все данные, находящиеся в оперативной памяти, теряются, в том числе и модифицированные блоки данных, которые ме­неджер дискового кэша не успел вытолкнуть на диск. Единственный способ вос­становить утерянные изменения данных — это повторить все завершенные тран­закции, которые участвовали в модификации этих блоков. Чтобы обеспечить возможность повторения транзакций, система должна включать в протокол не только данные, которые могут быть использованы для отката транзакции, но и данные, которые позволят в случае необходимости повторить всю транзакцию.

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





Дата публикования: 2014-11-03; Прочитано: 417 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...