Архитектура современных операционных систем
180 Протоколирование транзакций Восстанавливаемость NTFS обеспечивается методикой обработки тран- закций, называемой протоколированием (logging). Прежде чем выполнить над содержимым диска подоперации какой-либо транзакции, изменяющей важные структуры данных файловой системы, NTFS регистрирует ее в файле журнала. Таким образом, в случае сбоя системы незавершенные транзакции можно по- вторить или отменить после перезагрузки компьютера. В технологии обработки транзакций эта методика называется опережающим протоколированием (write- ahead logging). В NTFS транзакции, к которым относятся, в частности, запись на диск или удаление файла, могут состоять из нескольких подопераций. Сервис файла журнала Сервис файла журнала (log file service, LFS) — это набор процедур режи- ма ядра, локализованных в драйвере NTFS, который она использует для досту- па к файлу журнала. Хотя LFS изначально был разработан для того, чтобы предоставлять средства протоколирования и восстановления более чем одному клиенту, он используется только NTFS. Вызывающая программа, в данном слу- чае NTFS, передает LFS указатель на открытый объект «файл», который опре- деляет файл, выступающий в роли журнала. LFS либо инициализирует новый журнал, либо вызывает диспетчер КЭШа для доступа к существующему жур- налу через кэш Файл журнала - log file делится LFS’ом на 2 части: область рестарта и об- ласть протоколирования (рис. 5.11.). Область протоколирования – циклический буфер, в который записывает- ся протоколы выполнения транзакций. Каждый такой протокол выполнения одной транзакции называется запи- сью области протоколирования. Все записи – последовательно нумеруются, таким образом, номер одно- значно определяет запись. Номера обозначаются LSN (Logical Service Number).
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy