Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux內核中的jiffies及其作用介紹

Linux內核中的jiffies及其作用介紹

日期:2017/2/7 9:21:38      編輯:Linux教程

硬件給內核提供一個系統定時器用以計算和管理時間,內核通過編程預設系統定時器的頻率,即節拍率(tick rate),每一個周期稱作一個tick(節拍)。Linux內核從2.5版內核開始把頻率從100調高到1000(當然帶來了很多優點,也有一些缺點).

  jiffies是內核中的一個全局變量,用來記錄自系統啟動一來產生的節拍數。譬如,如果計算系統運行了多長時間,可以用 jiffies/tick rate 來計算。jiffies定義在文件 中:

  extern unsigned long volatile jiffies;

  可以利用jiffies設置超時等,譬如:

  unsigned long timeout = jiffies + tick_rate * 2; // 2秒鐘後超時

  if(time_before(jiffies, timeout){

  // 還沒有超時

  }

  else{

  // 已經超時

  }

  內核提供了四個宏來比較節拍計數,這些宏定義在文件 中:

  time_before(unknown, known)

  time_after(unknown, known)

  time_before_eq(unknown, known)

  time_after_eq(unknown, known)

  比較的時候用這些宏可以避免jiffies由於過大造成的回繞問題。

  除了系統定時器外,還有一個與時間有關的時鐘:實時時鐘(RTC),這是一個硬件時鐘,用來持久存放系統時間,系統關閉後靠主板上的微型電池保持計時。系 統啟動時,內核通過讀取RTC來初始化Wall Time,並存放在xtime變量中,這是RTC最主要的作用。

Copyright © Windows教程網 All Rights Reserved