日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转][Timer学习]wall time和monotonic time

發布時間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转][Timer学习]wall time和monotonic time 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在一些系統調用中需要指定時間是用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-01-01起經歷的秒數、本秒中經歷的納秒數",每來一個timer interrupt,也需要去更新xtime。 以前我一直想不明白,既然每個timer interrupt,jiffies和xtime都要更新,那么不都是單調遞增的嗎?那它們之間使用時有什么區別呢?昨天看到一篇文章,終于明白了,wall time不一定是單調遞增的。因為wall time是指現實中的實際時間,如果系統要與網絡中某個節點時間同步、或者由系統管理員覺得這個wall time與現實時間不一致,有可能任意的改變這個wall time。最簡單的例子是,我們用戶可以去任意修改系統時間,這個被修改的時間應該就是wall time,即xtime,它甚至可以被寫入RTC而永久保存。一些應用軟件可能就是用到了這個wall time,比如以前用vmware workstation,一啟動提示試用期已過,但是只要把系統時間調整一下提前一年,再啟動就不會有提示了,這很可能就是因為它啟動時用gettimeofday去讀wall time,然后判斷是否過期,只要將wall time改一下,就可以欺騙過去了。

轉載于:https://www.cnblogs.com/zbie/archive/2012/09/21/2696792.html

總結

以上是生活随笔為你收集整理的[转][Timer学习]wall time和monotonic time的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。