时钟功能在操作系统中如何工作?

时间:2018-11-17 15:16:08

标签: c linux operating-system clock

我不了解时钟功能在操作系统中如何工作。

首先,www.cplusplus.com中有关时钟功能的文档是:

Returns the processor time consumed by the program.

The value returned is expressed in clock ticks[...] 

据我了解,时钟功能必须直接访问CPU中的某个寄存器,该寄存器是CPU周期的计数器。这怎么可能?我的意思是,如果以CPU频率递增一个单位,则任何32位寄存器都会很快溢出。操作系统是否以某种方式处理此溢出?

1 个答案:

答案 0 :(得分:3)

“时钟滴答”是实现定义的,而不是以cpu时钟为单位。从历史上看,它们是固定长度的粗粒度调度时间片。不需要任何特殊的硬件TSC来实现clock。只需简单地计算调度进程的时间片即可(这些时间片最终由计时器中断或类似事件强制执行)。