当前位置 - 股票行情交易網 - 國際漫評 - CLOCK_MONOTONIC 與 CLOCK_REALTIME 區別

CLOCK_MONOTONIC 與 CLOCK_REALTIME 區別

CLOCK_MONOTONIC 指的是 monotonic time,而 CLOCK_REALTIME 指的是 wall time。

monotonic time 的字面意思是單調時間,實際上,指的是系統啟動之後所流逝的時間,這是由變量 jiffies 來記錄的,當系統每次啟動時,jiffies 被初始化為 0,在每壹個 timer interrupt 到來時,變量 jiffies 就加上 1,因此這個變量代表著系統啟動後的流逝 tick 數。jiffies 壹定是單調增加的,因為時間不可逆。

wall time 的字面意思是掛鐘時間,實際上,指的是現實的時間,這是由變量 xtime 來記錄的。系統在每次啟動時,將 CMOS 上的 RTC 時間讀入 xtime,這個值是自從 1970 年 1 月 1 日起經歷的秒數,在每壹個 timer interrupt 到來時,變量 xtime 也會加上 1。

註意, xtime 不壹定是單獨增加的 。因為 wall time 是指現實中的實際時間,如果系統要與網絡中某個節點時間同步,或者系統管理員覺得 wall time 與現實的時間不壹致,就可能隨意地更改這個 wall time。最常見的情況,用戶可以去任意修改系統時間,這個被修改的時間就是 wall time。