第10课:理解时钟与定时器,电子世界中的脉动

时钟对计算机系统来说非常重要,在硬件层面,时钟信号是推动 CPU 运转的动力源;在软件层面,很多非常重要的系统功能都依赖于对时间的度量和处理。

本节课,我们就来深入了解一下计算机系统的定时硬件,学习 Linux 中的操作系统定时器的系统调用的使用方法,并讨论一下应用层定时器的实现思路,主要包括以下几方面内容:

  • 时钟与定时器概述
  • Linux 传统间隔定时器
  • Linux POSIX 定时器
  • 应用层定时器

10.1 时钟与定时器概述

10.1.1 计算机系统中的时钟

时钟信号对计算机系统非常重要,CPU 中上亿个元器件都需要在时钟信号的统一节拍下协调动作才能完成需要的计算功能。

现实中能形象地类比 CPU 时钟的例子应该是龙舟上的鼓手,所有队员都根据鼓手打出的节拍以相同的节奏划船,才能让整条船快速行进。同时,鼓手也需要根据所有队员的体力状况打出合适的节拍,如果节拍打得太快,有队员拼劲全力也赶不上的话,整条船的行进节奏就会被打乱;如果节奏太慢,就不能充分发挥出大家的体力,达不到最快的速度。CPU 的时钟频率,就对应于龙舟鼓手打拍子的节奏,只是对一个特定的 CPU 来说,节奏是固定的

10.1.2 计算机系统中的定时器

现代的大多数定时设备,都是通过对一个具有稳定频率的信号源产生的信号的计数来实现对时间的计量,信号源的频率越稳定,计时就越精确;信号的频率越高,对时间的分辨率就越高。比如挂钟是

你可能感兴趣的:(攻克,Linux,系统编程,Linux,C/C++,Linux,Linux)