學習筆記 linux中的時間管理

2021-07-05 04:45:05 字數 707 閱讀 5535

這一章太簡單了, 以至於都感覺沒什麼東西可寫的. 不過既然學習了, 就留做紀念吧. 因為主要是一些概念性的東西, 了解了之後, 到時候如果要用的話可能需要再查.

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 個小時。如何根...