日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2025/4/5 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转][Timer学习]wall time和monotonic time 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在一些系統(tǒng)調(diào)用中需要指定時(shí)間是用CLOCK_MONOTONIC還是CLOCK_REALTIME,以前總是搞不太清楚它們之間的差別,現(xiàn)在終于有所理解了。

CLOCK_MONOTONIC是monotonic time,而CLOCK_REALTIME是wall time。 monotonic time字面意思是單調(diào)時(shí)間,實(shí)際上它指的是系統(tǒng)啟動(dòng)以后流逝的時(shí)間,這是由變量jiffies來(lái)記錄的。系統(tǒng)每次啟動(dòng)時(shí)jiffies初始化為0,每來(lái)一個(gè)timer interrupt,jiffies加1,也就是說(shuō)它代表系統(tǒng)啟動(dòng)后流逝的tick數(shù)。jiffies一定是單調(diào)遞增的,因?yàn)闀r(shí)間不夠逆嘛! wall time字面意思是掛鐘時(shí)間,實(shí)際上就是指的是現(xiàn)實(shí)的時(shí)間,這是由變量xtime來(lái)記錄的。系統(tǒng)每次啟動(dòng)時(shí)將CMOS上的RTC時(shí)間讀入xtime,這個(gè)值是"自1970-01-01起經(jīng)歷的秒數(shù)、本秒中經(jīng)歷的納秒數(shù)",每來(lái)一個(gè)timer interrupt,也需要去更新xtime。 以前我一直想不明白,既然每個(gè)timer interrupt,jiffies和xtime都要更新,那么不都是單調(diào)遞增的嗎?那它們之間使用時(shí)有什么區(qū)別呢?昨天看到一篇文章,終于明白了,wall time不一定是單調(diào)遞增的。因?yàn)閣all time是指現(xiàn)實(shí)中的實(shí)際時(shí)間,如果系統(tǒng)要與網(wǎng)絡(luò)中某個(gè)節(jié)點(diǎn)時(shí)間同步、或者由系統(tǒng)管理員覺(jué)得這個(gè)wall time與現(xiàn)實(shí)時(shí)間不一致,有可能任意的改變這個(gè)wall time。最簡(jiǎn)單的例子是,我們用戶可以去任意修改系統(tǒng)時(shí)間,這個(gè)被修改的時(shí)間應(yīng)該就是wall time,即xtime,它甚至可以被寫入RTC而永久保存。一些應(yīng)用軟件可能就是用到了這個(gè)wall time,比如以前用vmware workstation,一啟動(dòng)提示試用期已過(guò),但是只要把系統(tǒng)時(shí)間調(diào)整一下提前一年,再啟動(dòng)就不會(huì)有提示了,這很可能就是因?yàn)樗鼏?dòng)時(shí)用gettimeofday去讀wall time,然后判斷是否過(guò)期,只要將wall time改一下,就可以欺騙過(guò)去了。

轉(zhuǎn)載于:https://www.cnblogs.com/zbie/archive/2012/09/21/2696792.html

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。