linux 内核 关于时间 高精度定时器 系统时钟周期

参考资料:https://www.ibm.com/developerworks/cn/linux/1308_liuming_linuxtime4/
                  https://blog.csdn.net/droidphone/article/details/7989566
                  https://blog.csdn.net/qq_24521983/article/details/89605327

(一)时间维护  timekeeper

    RTC时间
    wall time:墙上时间
    monotonic time
    raw monotonic time
    boot time:总启动时间

    RTC时间  在PC中,RTC时间又叫CMOS时间,它通常由一个专门的计时硬件来实现,软件可以读取该硬件来获得年月日、时分秒等时间信息,而在嵌入式系统中,有使用专门的RTC芯片,也有直接把RTC集成到Soc芯片中,读取Soc中的某个寄存器即可获取当前时间信息。一般来说,RTC是一种可持续计时的,也就是说,不管系统是否上电,RTC中的时间信息都不会丢失,计时会一直持续进行,硬件上通常使用一个后备电池对RTC硬件进行单独的供电。因为RTC硬件的多样性,开发者需要为每种RTC时钟硬件提供相应的驱动程序,内核和用户空间通过驱动程序访问RTC硬件来获取或设置时间信息。

    xtime  xtime和RTC时间一样,都是人们日常所使用的墙上时间,只是RTC时间的精度通常比较低,大多数情况下只能达到毫秒级别的精度,如果是使用外部的RTC芯片,访问速度也比较慢,为此,内核维护了另外一个wall time时间:xtime,取决于用于对xtime计时的clocksource,它的精度甚至可以达到纳秒级别,因为xtime实际上是一个内存中的变量,它的访问速度非常快,内核大部分时间都是使用xtime来获得当前时间信息。xtime记录的是自1970年1月1日24时到当前时刻所经历的纳秒数。

    monotonic time  该时间自系统开机后就一直单调地增加,它不像xtime可以因用户的调整时间而产生跳变,不过该时间不计算系统休眠的时间,也就是说,系统休眠时,monotoic时间不会递增。

    raw monotonic time  该时间与monotonic时间类似,也是单调递增的时间,唯一的不同是:raw monotonic time“更纯净”,他不会受到NTP时间调整的影响,它代表着系统独立时钟硬件对时间的统计。

    boot time  与monotonic时间相同,不过会累加上系统休眠的时间,它代表着系统上电后的总时间。

    时间种类     精度(统计单位)     访问速度     累计休眠时间     受NTP调整的影响
    RTC     低     慢     Yes     Yes
    xtime     高     快     Yes     Yes
    monotonic     高     快     No     Yes
    raw monotonic     高     快     No     No
    boot time     高     快     Yes     Yes

 

    关系:

    HRTIMER_BASE_BOOTTIME=

    HRTIMER_BASE_MONOTONIC+timekeeper.total_sleep_time=

    HRTIMER_BASE_REALTIME+timekeeper.wall_to_monotonic+timekeeper.total_sleep_time=

    timekeeper.xtime+timekeeper.wall_to_monotonic+timekeeper.total_sleep_time

 

(二)高精度时间
查看当前定时器信息:
cat /proc/timer_list

https://blog.csdn.net/heliangbin87/article/details/79208326

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值