zoukankan      html  css  js  c++  java
  • linux时间管理 之 jiffies

    1、jiffies

         又称时钟滴答,是一个全局变量,它的值在系统引导的时候初始化为0,在时钟中断初始化完成后,每次时钟中断发生,在时钟中断处理例程中都会将jiffies的值 +1。

         jiffies_64:为了解决jiffies溢出问题,更重要的是通过jiffies_64可以知道自开机以来的时间间隔。

    2、HZ

         HZ表示时钟中断发生的频率。可以在.config的配置文件中改写。1/HZ是每个jiffies+1的时间间隔。

    3、通过jiffies可以进行时间的比较和时间转换

    4、时间比较

         32位                                                    64位

         time_after(a,b)                                    time_after64(a,b)

         time_before(a,b)                                 time_before64(a,b)

         time_after_eq(a,b)                              time_after_eq64(a,b)

         time_before_eq(a,b)                           time_before_eq64

         time_in_range(a,b,c)                           time_in_range(a,b,c)

    5、时间转换

         a、jiffies和msecs以及usecs的转换:

         unsigned int jiffies_to_msecs(const unsigned long);

         unsigned int jiffies_to_usecs(const unsigned long);

         unsigned long msecs_to_jiffies(const unsigned int m);

         unsigned long usecs_to_jiffies(const unsigned int u);

        b、jiffies和timespec以及timeval的转换

         在用户空间,应用程序更多的使用秒以及毫秒等时间形式,而在内核中多使用jiffes。

         内核定义了struct timeval 和 struct timespec 两种数据结构

         struct timespec {

                   __kernel_time_t tv_sec;

                   long              tv_nsec;

          }

         struct timeval {

                   __kernel_time_t          tv_sec;

                  __kernel_suseconds_t  tv_usec;

        }

        相互转换函数:

         unsigned long timespec_to_jiffies(const struct timespec *value);

         void jiffies_to_timespec(const unsigned long jiffies, struct timespec *value);

         unsigned long timeval_to_jiffies(const struct timeval *value);

         void jiffies_to_timeval(const unsigned long jiffies, struct timeval *value);

    6、要注意的是jiffies的精度问题。如果HZ = 1000,则jiffies增加1代表1ms。

         如果要用到更高精度的始终,要用其他的硬件机制。

    原文链接: http://blog.csdn.net/lin2jian4liang4/article/details/49383761

  • 相关阅读:
    《淘宝技术这十年》读书总结
    广告:互联网公司的纽带
    广告:互联网公司的纽带
    定期存款要及时
    定期存款要及时
    Java实现蓝桥杯VIP算法训练 自行车停放
    Java实现蓝桥杯VIP算法训练 自行车停放
    Java实现蓝桥杯VIP算法训练 自行车停放
    Java实现蓝桥杯VIP算法训练 数组逆序排列
    Java实现蓝桥杯VIP算法训练 数组逆序排列
  • 原文地址:https://www.cnblogs.com/ranson7zop/p/7603369.html
Copyright © 2011-2022 走看看