hardclock
—
real-time timer
void
hardclock
(struct
clockframe *frame);
The hardclock
() function is called
hz(9) times per second. It
implements the real-time system clock. The argument
frame is an opaque, machine-dependent structure that
encapsulates the previous machine state.
The hardclock
() performs different tasks
such as:
- Run the current process's virtual and profile time (decrease the
corresponding timers, if they are activated, and generate
SIGVTALRM
or SIGPROF
,
respectively).
- Increment the time-of-day, taking care of any
ntpd(8) or
adjtime(2) induced changes
and leap seconds, as well as any necessary compensations to keep in sync
with PPS signals or external clocks, if support for this is in the kernel
(see options(4)).
- Schedule softclock interrupts if any callouts should be triggered (see
callout(9)).