Chapter 5. Timing Measurements

Countless computerized activities are driven by timing measurements, often behind the user's back. For instance, if the screen is automatically switched off after you have stopped using the computer's console, this is due to a timer that allows the kernel to keep track of how much time has elapsed since you pushed a key or moved the mouse. If you receive a warning from the system asking you to remove a set of unused files, this is the outcome of a program that identifies all user files that have not been accessed for a long time. In order to do these things, programs must be able to retrieve from each file a timestamp identifying its last access time, and therefore such a timestamp must be automatically written by the kernel. More significantly, timing drives process switches along with even more basic kernel activities like checking for time-outs.

We can distinguish two main kinds of timing measurement that must be performed by the Linux kernel:

  • Keeping the current time and date, so that they can be returned to user programs through the time( ), ftime( ), and gettimeofday( ) system calls (see Section 5.5.1 later in this chapter) and used by the kernel itself as timestamps for files and network packets

  • Maintaining timers, that is, mechanisms that are able to notify the kernel (see Section 5.4.4) or a user program (see Section 5.5.3) that a certain interval of time has elapsed

Timing measurements are performed by several hardware circuits based on ...

Get Understanding the Linux Kernel now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.