为什么Linux内核中的xtime变量每1毫秒更新一次?

时间:2019-01-05 03:45:02

标签: linux linux-kernel interrupt-handling systemtime

在Linux中,xtime变量(Linux内核内部为timespec类型的结构)存储当前时间和日期。它有两个字段-tv_sec,存储自1970年1月1日以来的秒数; tv_nsec,存储最近一秒内经过的纳秒数。

xtime的值将作为板载可编程间隔计时器生成的中断的中断处理例程的一部分进行更新。默认情况下,Linux内核将其编程为每1毫秒发生一次(称为滴答声)。

我知道内核除了更新系统时钟外,还依赖于中断来处理许多其他事情,但是为什么我们实际上在每个刻度上都编辑xtime变量?是不是毫无意义,因为我们基本上会用相同的值覆盖它?

1 个答案:

答案 0 :(得分:0)

用户程序从xtime变量获取当前时间和日期,因此需要始终对其进行更新