使用jiffies的時間比較函數time_after、time_before

 

1. jiffies簡介

  首先,作業系統有個系統專用定時器(system timer),俗稱滴答定時器,或者系統心跳。

       全局變數jiffies取值為自作業系統啟動以來的時鐘滴答的數目,在頭文件<linux/sched.h>中定義,數據類型為 unsigned long volatile (32位無符號長整型)。

 

2.  jiffies與秒的轉換

        將 jiffies轉換為秒,可採用公式:(jiffies/HZ)  計算。

        將 秒轉換為jiffies,可採用公式:(seconds*HZ)  計算。

 

3.  jiffies的溢出介紹

          當時鐘中斷髮生時,jiffies值就加1。

           假定HZ=100,1個jiffies等於1/100 秒,jiffies可記錄的最大秒數為(2^32 -1)/100=42949672.95秒,約合497天或1.38年,

           當取值到達最大值時仍繼續加1,就變為了0!

           即HZ=100時,連續累加的溢出時間是一年又四個多月,如果程式對jiffies的溢出沒有加以充分考慮,那麼在連續運行一年又四個多月後,這些程式還能夠穩定運行嗎?

 

4.  

 

 

.