]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
Overview of time.
authorMichael Kerrisk <mtk.manpages@gmail.com>
Wed, 26 Apr 2006 07:14:42 +0000 (07:14 +0000)
committerMichael Kerrisk <mtk.manpages@gmail.com>
Wed, 26 Apr 2006 07:14:42 +0000 (07:14 +0000)
man7/time.7 [new file with mode: 0644]

diff --git a/man7/time.7 b/man7/time.7
new file mode 100644 (file)
index 0000000..fd7346d
--- /dev/null
@@ -0,0 +1,149 @@
+.\" Copyright (c) 2006 by Michael Kerrisk <mtk-manpages@gmx.net>
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.TH TIME 7 2006-04-28 "Linux 2.6.16" "Linux Programmer's Manual"
+.SH NAME
+time \- overview of time
+.SH DESCRIPTION
+.SS "Real time and process time"
+.I "Real time"
+is defined as time measured from some fixed point,
+either from a standard point in the past 
+(see the description of the Epoch and calendar time below),
+or from some point (e.g., the start) in the life of a process
+.RI ( "elapsed time" ).
+
+.I "Process time"
+is defined as the amount of CPU time used by a process.
+This is sometimes divided into 
+.I user
+and
+.I system
+components.
+User CPU time is the time spent executing code in user mode.
+System CPU time is the time spent by the kernel executing
+in system mode on behalf of the process (e.g., executing system calls).
+The
+.BR time (1)
+command can be used to determine the amount of CPU time consumed 
+during the execution of a program.
+A program can determine the amount of CPU time it has consumed using
+.BR times (2),
+.BR getrusage (2),
+or
+.BR clock (3).
+.SS "The Hardware Clock"
+Most computers have a (battery-powered) hardware clock which the kernel
+reads at boot time in order to initialize the software clock.
+For further details, see
+.BR rtc (4)
+and
+.BR hwclock (8).
+.SS "The Software Clock, HZ, and Jiffies"
+The accuracy of many system calls and timestamps is limited by 
+the resolution of the
+.IR "software clock" ,
+a clock maintained by the kernel which measures time in 
+.IR jiffies .
+The size of a jiffy is determined by the value of the kernel constant
+.IR HZ .
+The value of
+.I HZ
+varies across kernel versions and hardware platforms.
+On x86 the situation is as follows:
+on kernels up to and including 2.4.x, HZ was 100, 
+giving a jiffy value of 0.01 seconds;
+starting with with 2.6.0, HZ was raised to 1000, giving a jiffy of
+0.001 seconds; since kernel 2.6.13, the HZ value is a kernel
+configuration parameter and can be 100, 250 (the default) or 1000,
+yielding a jiffies value of, respectively, 0.01, 0.004, or 0.001 seconds.
+
+On Alpha and ia64,
+.I HZ
+is 1024.
+.SS "The Epoch"
+Unix systems represent time in seconds since the
+.IR Epoch ,
+which is defined as 0:00:00 UTC on the morning of 1 January 1970.
+
+A program can determine the 
+.IR "calendar time"
+using 
+.BR gettimeofday (2),
+which returns time (in seconds and microseconds) that have
+elapsed since the Epoch; 
+.BR time (2)
+provides similar information, but only with accuracy to the 
+nearest second.
+The system time can be changed using
+.BR settimeofday (2).
+.SS "Broken-down time"
+Certain library functions use a structure of
+type 
+.I tm
+to represent 
+.IR "broken-down time" ,
+which stores time value separated out into distinct components 
+(year, month, day, hour, minute, second, etc.).
+This structure is described in
+.BR ctime (3),
+which also describes functions that convert between calendar time and 
+broken-down time.
+Functions for converting between broken-down time and printable 
+string representations of the time are described in
+.BR ctime (3),
+.BR strftime (3),
+and
+.BR strptime (3).
+.SS "Sleeping and Setting Timers"
+Various system calls and functions allow a program to sleep (suspend execution) for a specified period of time; see 
+.BR nanosleep (2)
+and
+.BR sleep (3).
+
+Various system calls allow a process to set a timer that expires
+at some point in the future, and optionally at repeated intervals;
+see
+.BR alarm (2),
+.BR getitimer (2),
+and
+.BR timer_create (3).
+.\" FIXME . timer_create() and friends are not yet in man-pages
+.SH "SEE ALSO"
+.BR date (1),
+.BR time (1),
+.BR adjtimex (2),
+.BR alarm (2),
+.BR getitimer (2),
+.BR getrlimit (2),
+.BR getrusage (2),
+.BR gettimeofday (2),
+.BR nanosleep (2),
+.BR stat (2),
+.BR time (2),
+.BR times (2),
+.BR utime (2),
+.BR clock (3),
+.BR sleep (3),
+.BR ctime (3),
+.BR strftime (3),
+.BR strptime (3),
+.BR usleep (3),
+.BR rtc (4),
+.BR hwclock (8).