MirOS Manual: boottime(9), mono_time(9), runtime(9), time(9)

TIME(9)                       BSD Kernel Manual                        TIME(9)


     boottime, mono_time, runtime, time - system time variables


     extern struct timeval boottime;
     extern volatile struct timeval mono_time;
     extern struct timeval runtime;
     extern volatile struct timeval time;


     The time variable is the system's "wall time" clock. It is set at boot by
     inittodr(9), and is updated by the settimeofday(2) system call and by
     periodic clock interrupts.

     The boottime variable holds the system boot time. It is set from time at
     system boot, and is updated when the system time is adjusted with

     The runtime variable holds the time that the system switched to the
     current process. It is set after each context switch, and is updated when
     the system time is adjusted with settimeofday(2). Because runtime is used
     for system accounting, it is set with the high-resolution microtime(9)
     function, rather than being copied from time.

     The mono_time variable is a monotonically increasing system clock. It is
     set from time at boot, and is updated by the periodic timer interrupt.
     (It is not updated by settimeofday(2).)

     All of these variables contain times expressed in seconds and mi-
     croseconds since midnight (0 hour), January 1, 1970.

     Clock interrupts should be blocked when reading or writing time or
     mono_time, because those variables are updated by hardclock(9). Boottime
     and runtime may be read and written without special precautions.


     settimeofday(2), hardclock(9), hz(9), inittodr(9), microtime(9)


     Runtime should not be updated when the system time is changed with
     settimeofday(2), because it is used for resource accounting.

     The notion of having a single runtime variable obviously won't be ap-
     propriate in multiprocessor systems.

MirOS BSD #10-current         November 13, 1995                              1

Generated on 2017-04-03 16:26:17 by $MirOS: src/scripts/roff2htm,v 1.88 2017/01/29 00:51:06 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002–2017 The MirOS Project, Germany.
This product includes material provided by mirabilos.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.