12. Процедура корректировки (настройки) времени (часов)
Текущая корректировка времени (настройка часов) реализуется прикладным процессом clock_adjust()
. Такая корректировка происходит один раз в секунду и предусматривает прибавление к значению текущей частоты корректирующего значения, а также фиксированной доли (в процентах) остаточного значения сдвига θr
. Величина θr
, по своей сути, является экспоненциальным показателем затухания значения θ
, обеспечиваемого фильтром с СУОС при каждом обновлении данных синхронизации. Параметр ТС
масштабирует временнỳю константу для удобного сравнения её с интервалом опроса.
Замечание. Дисперсия Ε
возрастает каждую секунду на значение Φ
.
Процедура корректировки времени включает субпроцедуру прерывания таймера для управления счётчиком секунд c.t
. Последний имеет нулевое значение при запуске NTPv4-службы времени, и затем увеличивается на единицу каждую секунду. Во время каждого прерывания происходит обращение к прикладному процессу clock_adjust()
с целью проведения настройки часов с одновременной корректировкой времени и частоты. Затем проверяются все виртуальные соединения с целью определения является ли значение счётчика секунд равным или превышает значение переменной состояния p.next
. Если так, то тогда происходит обращение в прикладному процессу опроса удалённых серверов времени с целью передачи NTPv4-сообщения и вычисления следующего значения p.next
.