(六)定時器和時間管理

2021-10-10 01:25:13 字數 1678 閱讀 3144

1、	什麼是相對時間、絕對時間、節拍率、節拍、牆上時間、系統執行時間
a) 相對時間

i. 有些是週期執行的,如對排程程式中的執行佇列進行平衡調整或對螢幕進行重新整理,都需要定期執行(系統定時器負責)

ii. 另一些函式需要等待乙個相對時間後才執行,如需要推後執行的磁碟i/o操作等

b) 絕對時間

i. 核心還必須管理系統的執行時間以及當前日期和時間(系統定時器負責)

系統定時器和時鐘中斷處理程式是linux系統核心管理機制的中樞

 節拍率(tick rate)

 系統定時器以某種頻率自行觸發(hitting擊中)或射中(popping)時鐘中斷,當時鐘中斷發生時核心通過一次特殊的中斷處理程式對其進行處理。不同體系結構hz值不同。

 #define hz 1000 //相當於1秒鐘中斷1000次

 節拍(tick):節拍率的倒數

 連續兩次時鐘中斷的間隔時間

 與節拍率相乘為1

 牆上時間(實際時間)

 對使用者空間的應用程式來說最重要。

 核心通過控制時鐘中斷維護實際時間,同時也為使用者空間提供了一組系統呼叫以獲取實際日期和實際時間,所謂牆上時間也就是當前的實際時間。

 牆上時間儲存於系統核心變數xtime中,該變數記錄了現實世界中的年月日格式的時間,以便核心對某些物件和事件作時間標記

 系統執行時間(啟動後經過的時長)

 通過兩次讀取執行時間再計算差,以獲取程式執行時長

2、	判斷哪些工作需要利用時鐘中斷執行
更新系統執行時間

更新實際時間

在smp(symmetric multi processing)系統上,均衡排程程式中各處理器上的執行佇列

檢查當前程序是否用盡了自己的時間片

執行超時的動態定時器

更新資源消耗和處理器時間的統計值

3、	提高節拍率的優缺點
優點:

a) 核心定時器能夠以更高的頻度和更高的準確度執行

b) 依賴定時值執行的系統呼叫,能夠以更高的精度執行

c) 對諸如資源消耗和系統執行時間等的測量會有更精細的解析度

d) 提高程序搶占的準確度

缺點: 時鐘頻率越高,意味著系統負擔越重

 減少了處理器處理其他工作的時間

 更頻繁地打亂處理器快取記憶體並增加耗電

4、	時鐘中斷處理程式中,tick_periodic()執行了哪些工作
a) 給jiffies_64變數增加1

b) 更新資源消耗的統計值,比如當前程序所消耗的系統時間和使用者時間

c) 執行已經到期的動態定時器

d) 執行scheduler_tick()函式

e) 更新牆上時間,該時間存放在xtime變數中

f) 計算平均負載值

5、	定時器使用的三個步驟
執行一些初始化工作

設定乙個超時時間

指定超時發生後執行的函式

 注意:

 定時器並不週期執行,它在超時後就自行撤銷(和任務佇列一樣)

 動態定時器不斷地建立和撤銷,而且它的執行次數也不受限制

 定時器有可能並不是超時馬上處理相應的函式,可能會推遲到下乙個節拍,不能用定時器來實現任何硬實時任務

linux定時器和時間管理

linux系統的時間是靠乙個叫 系統定時器 的晶元控制的 系統定時器相當於乙個晶振,產生固定的頻率,作業系統利用這個固定頻率來計時 系統定時器按照一定的頻率傳送中斷訊號,這個中斷我們叫定時器中斷 這個頻率值叫節拍率是可配置的,linux 2.5之前節拍率是100 2.5之後提高到了1000hz 就是...

Linux核心 定時器和時間管理

系統定時器是一種可程式設計硬體晶元。它能以固定頻率產生中斷。該中斷就是所謂的定時器中斷。它所相應的中斷處理程式負責更新系統時間,還負責執行須要週期性執行的任務。系統定時器和時鐘中斷處理程式是linux系統核心管理機制中的中樞。另外乙個關注的焦點是動態定時器 一種用來推遲執行程式的工具。比方說。假設軟...

Linux2 6 33定時器和時間管理

在中定義 extern unsigned long volatile jiffies 第二變數也定義在中 extern u64 jiffies 64 ld鏈結指令碼用於連線核心映像 x86位於arch x86 kernel vmlinux.lds.s 然後jiffies 64變數的初值覆蓋jiffi...