获取系统运行时间的内核API

2561阅读 0评论2012-01-06 Alan0521
分类:LINUX

系统时间有两个概念,Realtime and monotonic time.前者也叫墙上时间,如日期,几点几分。后者是系统从开机到现在的运行时间(boottime),不包括系统进入Idle及Suspend时的sleep time.


Ktime_get():get the monotonic time in ktime_t format.
它的实现也是基于前面文章重提到的宏。

当获取到xtime的数值后,要与tomono变量相加,即加上wall_to_monotonic转化为墙上时间。
wall_to_monotonic是个非常有意思的数,开机时他就是xtime的负数,系统睡眠重会把sleep time加到它身上。

比如系统开机xtime数值为A,则wall_to_monotonic=-A.那么ktime_get()返回0.
系统sleep了b时间,运行了c时间后,此时的xtime数值为:A+b+c,wall_to_monotonic=-(A+b).ktime_get() return c
 
====
http://blog.chinaunix.net/space.php?uid=23224014&do=blog&id=2487798
上一篇:Linux中的时钟概念
下一篇:2.6.x kernel下内核模块的Makefile