Several system calls allow User Mode processes to read and modify the time and date and to create timers. Let's briefly review these and discuss how the kernel handles them.
Processes in User Mode can get the current time and date by means of several system calls:
Returns the number of elapsed seconds since midnight at the start of January 1, 1970 (UTC).
Returns, in a data structure named
timeval, the number of elapsed seconds
since midnight of January 1, 1970 (UTC) and the number of
elapsed microseconds in the last second (a second data structure
timezone is not
time( ) system call is
gettimeofday( ), but
it is still included in Linux for backward compatibility. Another
widely used function,
which is no longer implemented as a system call, returns the number of
elapsed seconds since midnight of January 1, 1970 (UTC) and the number
of elapsed milliseconds in the last second.
gettimeofday( ) system
call is implemented by the
) function. To compute the current date and time of the day,
this function invokes
), which executes the following actions:
seqlock for reading.
Determines the number of microseconds elapsed since the last
timer interrupt by invoking the
get_offset method of the
cur_timer timer object:
usec = cur_timer->getoffset( );
As explained in the earlier ...