深入理解Linux核心 定時測量

2022-04-30 14:15:10 字數 894 閱讀 4020

定時測量:由基於固定頻率振盪器和計數器的幾個硬體電路完成的。

記時體系概貌:

核心中與時間相關的任務:

硬體裝置:

實時時鐘(rtc):1、real time clock ,獨立於cpu和所有晶元,每個pc都有。

2、它有專門的電池,不受pc電源斷電影響。

3、能在irq8上門發週期性的中斷,頻率為2-8192hz

4、可程式設計

時間戳計數器(tsc):1、time stamp counter 收到時鐘訊號加一

2、時鐘訊號的頻率,如果是1ghz,時間戳計數器美納秒加一。

可程式設計間隔定時器(pit):1、programmable interval timer

2、通常是使用0x40~0x43 i/o埠的乙個8354cmos晶元

3、通過發出 時鐘中斷來通知核心又乙個時間間隔過去了。

4、永遠以固定對頻率傳送中斷

cpu本地定時器:有apic提供,apic(32bit),pic(16bit);可以對本地定時器程式設計產生很低頻率的中斷

本地apic定時器把中斷只傳送給自己的處理器,而pit產生全域性性中斷,任何cpu都可以對其進行處理。

apic定時器基於時鐘訊號;pit基於內部時鐘振盪。

高精度事件定時器(hpet):

linux 記時體系結構:

核心會週期性的執行與定時 相關的操作:

1、更新自系統啟動以來所經過的時間

2、更新時間和日期

3、確定當前程序在每個cpu上面已經執行了多長時間,如果超過了分配給他的時間片,則搶占它。

4、更新系統資源使用統計數

5、檢查每個軟定時器的時間間隔是否已經達到。

深入理解Linux核心 核心同步

核心基本的同步機制 搶占核心的主要特點 乙個在核心態執行的程序,可能在執行核心函式期間被另外乙個程序取代。核心搶占 linux 2.6允許使用者在編譯核心的時候配置十分啟用 程序臨界區 每個程序中訪問臨界資源 一次僅允許乙個程序使用的共享資源 的那段 稱為臨界區。優化屏障 保證編譯程式不會混淆放在原...

深入理解linux核心手記

linux的段式管理是對應於程式結構的,是一種自然的想法,linux共有6個段暫存器,其中有3個專門的段暫存器 cs 段暫存器 ss 程式棧段暫存器 ds 資料段暫存器 程式需要6個段 bss 存放未初始化資料,只有名稱和大小 段 資料段 存放已初始化資料 棧段,堆段。段式管理段缺點 相比喻頁式管理...

深入理解Linux核心3

unix核心提供了應用程式可以執行的環境,因此,核心必須實現一組服務及相應的介面。應用程式使用這些介面而不會跟硬體資源直接互動。啟用核心例程的幾種方式 核心恢復乙個程序執行時,用程序描述符中的合適字段裝載cpu暫存器 等待狀態可能會有很多,有程序描述符佇列實現 自旋鎖 檢查訊號量耗時多,對於時間較短...