WP1 - RTOS State of the Art Analysis: Deliverable D1.1 - RTOS Analysis | ||
---|---|---|
Prev | Chapter 6. Realtime Support in Linux | Next |
Current POSIX API defines two different timer facilities:
BSD timers: setitimer() and getitimer() functions.
IEEE 1003.1b REALTIME timers: timer_create(), timer_settime(), timer_getoverrun(), etc.
This patch can provide high resolution timers with very low overhead because of two main design issues: the use of several timing and interrupt hardware sources (the old 8254, the Pentiun internal instruction TSC, and the ACPI[1] timers when available), and a clever data structure to maintain the timers.
The patch provides high resolution clocks: CLOCK_REALTIME_HR and CLOCK_MONOTONIC_HR. And the accompanying functions: clock_settime(), clock_gettime(), clock_getres(). Also the POSIX timers functions are implemented: timer_create(), timer_delete(), timer_settime(), timer_gettime() and timer_getoverrun().
[1] | Advanced Configuration and Power Interface |