這一章太簡單了, 以至於都感覺沒什麼東西可寫的. 不過既然學習了, 就留做紀念吧. 因為主要是一些概念性的東西, 了解了之後, 到時候如果要用的話可能需要再查.
linux核心通過定時器中斷來更新系統時間, 定時器中斷每秒鐘發生hz次. hz一般設定為100, 在x86上也可以設定為500或者1000. 由於hz的原因, 我們可以看到linux下msleep的精度一般只有10ms. hz值越高, 系統定時器等功能的準確性越高, 但是系統負擔也更大.
定時器中斷的主要工作有哪些?
更新系統執行時間和系統實際時間.
在smp系統上, 更新排程程式中各處理器的執行佇列.
檢測當前程序的時間片是否用盡.
執行超時的動態定時器.
除了定時器中斷外, linux下還有rtc(實時時鐘). rtc最主要的作用是在系統啟動的時候, 初始化xtime變數.
jiffies在linux下是tick的含義, 每秒鐘jiffies會遞增hz. 所以我們通過jiffies/hz就可以得到系統執行時間了.在64位環境下面, 我們使用jiffies_64這個變數. jiffies在32位系統上會出現迴繞, 所以在使用jiffies的時候, 最好用系統提供的相關api.
在核心中要實現延時執行, 可以使用delay, sleep, 定時器, 或者是schedule_timeout(). 這些機制雖然各不相同, 但是都同樣依賴於系統的定時器中斷來實現.
Linux中的時間管理
timedatectl 管理系統時間 timedatectl 檢視當前時間 timedatectl status 顯示當前時間資訊 timedatectl set time 設定當前時間 timedatectl set timezone 設定當前時區 timedatectl set local rt...
時間管理筆記
時間管理三個核心元素 從 過去 通過 現在 直到 未來,連續發生的各種各樣的事件的過程形成的軌跡 當物體運動超過光的速度,時間將會倒流 愛因斯坦 時間本身沒有意義,只有和事件聯絡起來才有了意義 如何選擇和控制事件,將會決定時間的質量,從而決定生活的質量 時間不能被管理,能管理的只有時間裡面的事件和選...
學習時間管理
人生最寶貴的兩項資產,一項是頭腦,一項是時間。無論你做 什麼事情,即使不用腦子,也要花費時間。因此,管理時間的水平 高低,會決定你事業和生活的成敗。每個星期有168 個小時,其中56 個小時在睡眠中度過,21 個 小時在吃飯和休息中度過,剩下的91 個小時則由你來決定做什麼 每天13 個小時。如何根...