Часы
Часы в RTX отсчитывают прохождение определенных интервалов времени.
API
Следующие функции служат для доступа к RTX-службам часов:
RtGetClockTime – возвращает текущее значение указанных часов.
RtSetClockTime – устанавливает значение указанных часов.
RtGetClockResolution -возвращает разрешение указанных часов.
RtGetClockTimerPeriod – возвращает минимальный период таймера для указанных часов.
Значения часов возвращаются и устанавливаются в единицах 100 наносекунд и соответствуют числу прошедших единиц с 12:00 1 Января 1600.
Типы часов
Часы RTX в Win32 и RTSS подсистемах могут быть:
- CLOCK_1 (или CLOCK_SYSTEM)
- CLOCK_2 (или CLOCK_FASTEST)
Часы CLOCK_1 обеспечиваются real-time HAL и имеют разрешение 1 миллисекунду. Потоки в Win32 и RTSS подсистемах могут, основываясь на этих часах, использовать таймеры с инкрементом в 1 миллисекунду.
Часы CLOCK_2 также обеспечиваются real-time HAL и имеют разрешение 1 микросекунду. Период таймеров, основывающихся на этих часах, переменный и может составлять 100, 200, 500 и 1000 микросекунд.
Период таймера HAL можно установить либо в контрольной панели “RTX settings”, либо в ключе реестра HKLM\System\CurrentControlSet\Control\RTX\HalTimerPeriod (и перезагрузиться).