在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理等等。所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统的运作方式。本文分析了 Linux 2.6.25 内核的时钟处理机制,首先介绍了在计算机系统中的一些硬件计时器,然后重点介绍了 Linux 操作系统中的硬件时钟和软件时钟的处理过程以及软件时钟的应用。最后对全文进行了总结。
在计算机系统中存在着许多硬件计时器,例如 Real Timer Clock ( RTC )、Time Stamp Counter ( TSC ) 和 Programmable Interval Timer ( PIT ) 等等。
这部分内容不是本文的中点,这里仅仅简单介绍几种,更多内容参见参考文献:
- Real Timer Clock ( RTC ):
- 独立于整个计算机系统(例如: CPU 和其他 chip )
- 内核利用其获取系统当前时间和日期
- Time Stamp Counter ( TSC ):
- 从 Pentium 起,提供一个寄存器 TSC,用来累计每一次外部振荡器产生的时钟信号
- 通过指令 rdtsc 访问这个寄存器
- 比起 PIT,TSC 可以提供更精确的时间测量
- Programmable Interval Timer ( PIT ):
- 时间测量设备
- 内核使用的产生时钟中断的设备,产生的时钟中断依赖于硬件的体系结构,慢的为 10 ms 一次,快的为 1 ms 一次
- High Precision Event Timer ( HPET ):
本文转自IBM Developerworks中国