Время

В микроядре L4 время используется для определения периода ожидания фазы посылки и фазы передачи сообщений. Спецификация «L4 eXperimental Kernel Reference Manual» использует два понятия времени: временной интервал и время события. Рассмотрим их более подробно.

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

Другой важной особенностью временного интервала являются его граничные значения. Минимальный временной интервал равен нулю. Это означает, что вне зависимости от того, готова ли другая сторона к приёму сообщения,
передающая сторона не попадает в фазу ожидания, если временной интервал передачи равен 0. Аналогично себя ведёт принимающая сторона, в случае, если временной интервал приёма равен 0.
Другим граничным значением временного интервала является бесконечность. Использование такого временного интервала блокирует нить (программный поток) до получения/передачи сообщения или обрыва передачи привилегированной задачей. Временной интервал упакован в 16 битах и может быть описан следующим образом:

Время события описывает абсолютное время. Абсолютное время более точное, но не может описывать события, чей интервал продолжительнее 67 секунд. Более подробную информацию о времени в системе L4 ты можешь найти в разделе 3.3 L4 Version X.2 Reference Manual

Алексей Мандрыкин
6 декабря 2007 года