Терминология CLFS

В следующем списке приведены определения ключевых терминов, используемых в документации по общей файловой системе журналов (CLFS). Эти определения применяются во время обсуждения CLFS, но могут не применяться в противном случае. Многие из этих терминов имеют общие значения или значения в контексте других технологий, которые отличаются от приведенных здесь определений.

Контейнер
Непрерывный экстент на физическом диске или другом стабильном носителе. Например, контейнер может быть непрерывным файлом диска.

Сектора
Единица атомарного ввода-вывода на физическом носителе. Размер сектора является свойством конкретного запоминающего устройства. Например, размер сектора жесткого диска может быть 512 байт.

Журнала
Базовый файл и набор логически упорядоченных контейнеров. Базовый файл содержит метаданные для журнала, а контейнеры содержат записи журнала. Все контейнеры имеют одинаковый размер.

Клиента
Приложение, драйвер, поток или другой блок программного обеспечения, использующий журнал CLFS.

Записи
Единица данных, которую клиент может добавлять или считывать из журнала.

Поток
Упорядоченное подмножество записей в журнале. Журнал может содержать один или несколько потоков. Клиент добавляет записи в и считывает записи из определенного потока. Вы можете сравнить записи в заданном потоке, чтобы определить порядок их записи. Нельзя сравнивать записи в разных потоках. Данный поток может иметь несколько клиентов. Например, несколько потоков могут добавлять записи в один поток. Для клиента поток выглядит так, как если бы это был весь журнал.

выделенный журнал
Журнал, который может содержать только один поток.

мультиплексированные журналы
Журнал, который может содержать несколько потоков.

блок ввода-вывода журнала
Буфер, в котором CLFS собирает набор записей, которые атомарно записываются в стабильное хранилище.

маршалинговая область
Набор блоков ввода-вывода журнала, созданных, поддерживаемых и запланированных клиентом CLFS для сбора записей журнала и их записи в стабильное хранилище. Блоки ввода-вывода журнала, выделенные в энергонезависимой памяти для определенной области маршалинга, имеют одинаковый размер.

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

порядковый номер журнала (LSN)
Непрозрачная структура, содержащая значение, однозначно идентифицирующее запись журнала в заданном потоке. Когда клиент записывает запись в поток, он возвращает номер LSN, который он может использовать для идентификации записи в будущем. Номера LSN, которые CLFS назначает записям в потоке, образуют увеличивающуюся последовательность. То есть номер LSN, назначенный записи в потоке, всегда больше, чем номер LSN, назначенный записи, ранее записанной в тот же поток.

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

базовый номер LSN
Номер LSN самой старой записи в потоке, которая по-прежнему необходима клиентам потока. Клиенты отвечают за обновление базового номера LSN.

последний номер LSN
Номер LSN самой молодой записи в потоке, который по-прежнему необходим клиентам потока. Обычно это запись, которая была недавно записана в поток, но клиенты могут вручную задать последний номер LSN, чтобы указать на более раннюю запись в потоке. Установка последнего номера LSN для предыдущей записи вручную называется усечением потока.

архивный хвост
Номер LSN самой старой записи в журнале, архивирование которой не было установлено. Не каждый журнал имеет архивный хвост. Журнал без архивного хвоста называется эфемерным, а журнал с архивным хвостом — неэфемерным. Если клиент указывает, что журнал имеет архивный хвост, клиент отвечает за обновление архивного хвоста.

активная часть потока
Часть потока, которая в настоящее время используется клиентами. Активная часть начинается с записи, на которую указывает базовый номер LSN или архивный хвост, в зависимости от того, что меньше. Активная часть заканчивается записью, на которую указывает последний номер LSN.