标签:
系统启动以来产生的节拍总数,位于<asm/param.h>
系统运行时间=jiffies/HZ
jiffies的定义
extern unsigned long volatile jiffies;
//a超过b,返回真
#define time_after(a,b) ( (long)(b) – (long)(a) < 0 )
//a未超过b,返回真
#define time_before(a,b) ( (long)(b) – (long)(a) > 0 )
unsigned long 使用源码存储,而signed long 使用补码存储,将signed long 强制转换为unsigned long,unsigned long中最高位为1的就会变为负数,使用上面的宏可以在一定范围内,即使发生回绕,时间先后判断,也能正确。
举例 8bit jiffies, jiffies = 255,time1 发生回绕了为1,time2没回绕为254
强转为signed long, jiffies=-1,time1=1,time2=-2
所以time_after(time1, jiffies) : -1 - 1 =-2 < 0
time_after(time2,jiffies) : -1 -(-2) = 1 > 0
体系结构相关部分,体系结构无关部分
与体系结构相关的例程作为系统定时器的中断处理程序注册到内核
也称动态定时器/内核定时器,管理内核流逝时间的基础。这个工具,能够使工作在指定时间点上执行。
内核在时钟中断后执行定时器,定时器作为软中断在下半部上下文执行
标签:
原文地址:http://blog.csdn.net/giantpoplar/article/details/51798541