使用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.
.