内核变量——Jiffies
来源:互联网 发布:php trim无效 编辑:程序博客网 时间:2024/05/22 04:30
全局变量jiffies表示自系统启动以来系统产生的嘀嗒数。当启动时,内核初始化该变量为0。每次时钟中断就会增1,所以系统运行时间可以计算为:jiffies/HZ秒。
jiffies变量定义如下:
extern unsigned long volatile jiffies;
将jiffies转换为秒:(jiffies / HZ)。将秒换算为jiffies:(seconds*HZ)。
jiffies比较相关的宏:
#define time_after(unknown, known) ((long)(known) - (long)(unknown) < 0)
#define time_before(unknown, known) ((long)(unknown) - (long)(known) < 0)
#define time_after_eq(unknown, known) ((long)(unknown) - (long)(known) >= 0)
#define time_before_eq(unknown, known) ((long)(known) - (long)(unknown) >= 0)
使用例子:
unsigned long timeout = jiffies + HZ/2;
/* timeout in 0.5s */
/* ... */
if (time_before(jiffies, timeout)) {
/* we did not time out, good ... */
} else {
/* we timed out, error ... */
}
代码参考:
typedef struct { unsigned long jiffies;}os_time_t;static inline osal_result os_clock_get_time(os_time_t *time){ time->jiffies = jiffies; return OSAL_SUCCESS;}static inline osal_result os_clock_get_time_diff_msecs( os_time_t *time, unsigned long *msecs){ *msecs = (jiffies - time->jiffies) * 1000 / HZ; return OSAL_SUCCESS;}static inline osal_result os_clock_get_time_diff_secs( os_time_t *time, unsigned long *secs){ *secs = (jiffies - time->jiffies) / HZ; return OSAL_SUCCESS;}
- 内核变量——Jiffies
- jiffies内核变量解析
- 内核中的jiffies变量
- 内核 jiffies
- 内核jiffies
- Linux内核中的jiffies
- Linux内核中的jiffies
- Linux内核中的jiffies
- Linux内核中的jiffies
- linux内核Jiffies
- linux中的jiffies变量
- linux中的jiffies变量
- linux中的jiffies变量
- linux中的jiffies变量
- linux中的jiffies变量
- linux中的jiffies变量
- linux中的jiffies变量
- linux中的jiffies变量
- 燕字兰舟
- 层次遍历树
- 使用M2Crypto加密数据
- Oracle学习
- [Mac] Mac 使用笔记
- 内核变量——Jiffies
- 做了半年的烤鸭店老板也没有网络歌手、选秀
- DOS命令集
- Flex中的CSS: (7)经过编译后CSS相关(样式)代码可能存在的场所
- 使用import简化spring的配置文件
- 内核定时器与延时
- 计算机各进制转换参照
- struts2中的跳转详解 ----“请求转发”和“重定向”之间的区别
- ASCII码参照表