The Timer and Time-of-Day kernel services provide kernel extensions with the ability to be notified when a period of time has passed. The tstart service supports a very fine granularity of time. The timeout service is built on the tstart service and is provided for compatibility with earlier versions of the operating system. The w_start service provides a timer with less granularity, but much cheaper path-length overhead when starting a timer.
The Timer and Time-of-Day kernel services are divided into the Time-of-Day services, Fine Granularity Timer services, Timer services for compatibility, and Watchdog Timer services.
The Time-Of-Day kernel services are:
curtime | Reads the current time into a time structure. |
kgettickd | Retrieves the current status of the systemwide time-of-day timer-adjustment values. |
ksettimer | Sets the systemwide time-of-day timer. |
ksettickd | Sets the current status of the systemwide timer-adjustment values. |
The Fine Granularity Timer kernel services are:
delay | Suspends the calling process for the specified number of timer ticks. |
talloc | Allocates a timer request block before starting a timer request. |
tfree | Deallocates a timer request block. |
tstart | Submits a timer request. |
tstop | Cancels a pending timer request. |
You can find additional information about using the Fine Granularity Timer services in Using Fine Granularity Timer Services and Structures.
The following Timer kernel services are provided for compatibility:
timeout | Schedules a function to be called after a specified interval. |
timeoutcf | Allocates or deallocates callout table entries for use with the timeout kernel service. |
untimeout | Cancels a pending timer request. |
The Watchdog timer kernel services are:
w_clear | Removes a watchdog timer from the list of watchdog timers known to the kernel. |
w_init | Registers a watchdog timer with the kernel. |
w_start | Starts a watchdog timer. |
w_stop | Stops a watchdog timer. |
Using Fine Granularity Timer Services and Structures.