系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 系統教程 > Linux教程 > 詳細頁面

Linux 內核學習筆記(六)——定時器及時間管理 Timer and time management

時間:2020-08-31來源:www.farandoo.com作者:電腦系統城

timers and time management

時間有相對、絕對時間之分。一個process在5s之后運行時相對時間,current time of day(也就是wall-time)是絕對時間,絕對時間一般是與用戶交互時用到。

The system timer goes off (often called hitting or popping) at a preprogrammed frequency, called the tick rate.

越高的tick rate頻率會使得定時器中斷有更高的分辨率,同時時間驅動的時間的精確性也提升。然而過高的tick rate頻率就會使得定時器中斷被頻繁啟動,就需要花費更多的時間來處理timer interrupt handler,這也是更高的負載負擔。

全局變量jiffies里面保存系統自啟動以來tick數值。然而Converting from ticks to seconds is typically reserved for communicating with user-space, as the kernel itself rarely cares about any sort of absolute time.
jiffies總是unsigned long類型的變量。hitectures.With a tick rate of 100, a 32-bit jiffies variable would overflow in about 497 days.With HZ increased to 1000, however, that overflow now occurs in just 49.7 days! If jiffies were stored in a 64-bit variable on all architectures, then for any reasonable HZ value the jiffies variable would never overflow in anyone's lifetime. 和其他變量類似,溢出之后自動歸零。另外kernel內部還有一些處理機制,類似于我過去BMS中計時器程序處理的巧妙辦法。 kernel也會利用jiffies進行一些小的延時,loop,waiting等等,不過還不如將等待的時間scheduling去做其他的工作。

RTC時鐘提供一個掉電之后仍能儲存系統時間的設備。在電腦中這個RTC數值可以在BIOS界面進行修改。系統開機后,讀取保存在RTC的數值作為system time。

timer本身的使用是非常簡單的,不過timer因為是異步的,也會產生同步競爭等問題,需要注意。

參考文獻

  1. Robert Love. "Linux Kernel Development." (2008).
分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

jlzzjlzz亚洲乱熟在线播放