LinuxDev 板


LINE

※ [本文轉錄自 uefang 信箱] 作者: [email protected] ("雲飛-Smith") 標題: [Linu] Linux Kernel: 簡介HZ, tick and jiffies 時間: Sun Aug 16 14:14:48 2009 作者: uefang (雲飛-Smith) 站內: Uefacool 標題: [Linu] Linux Kernel: 簡介HZ, tick and jiffies 時間: 2009/08/16 Sun 14:04:49 Take by http://adrianhuang.blogspot.com/2007/10/linux-kernel-hz-tick-and-jiffies.html Linux核心幾個重要跟時間有關的名詞或變數,底下將介紹HZ、tick與jiffies。 HZ Linux核心每隔固定週期會發出timer interrupt (IRQ 0),HZ是用來定義每一秒有幾次 timer interrupts。舉例來說,HZ為1000,代表每秒有1000次timer interrupts。 HZ可在編譯核心時設定,如下所示 (以核心版本2.6.20-15為例): adrian@adrian-desktop:~$ cd /usr/src/linux adrian@adrian-desktop:/usr/src/linux$ make menuconfig Processor type and features ---> Timer frequency (250 HZ) ---> 其中HZ可設定100、250、300或1000。以小弟的核心版本預設值為250。 小實驗 觀察/proc/interrupt的timer中斷次數,並於一秒後再次觀察其值。理論上,兩者應該相 差250左右。 adrian@adrian-desktop:~$ cat /proc/interrupts | grep timer && sleep 1 && cat /proc/interrupts | grep timer 0: 9309306 IO-APIC-edge timer 0: 9309562 IO-APIC-edge timer 上面四個欄位分別為中斷號碼、CPU中斷次數、PIC與裝置名稱。 問題來了,timer interrupt會做哪些事情? 答案如下所列: 1.更新時間、日期與系統從開機至目前經過多少時間 。 2.更新系統資源使用率統計 3.檢查正在執行的程序是否已經超過其所分配的執行時間額度。如果是的話,則侵佔 (preempt)該程序以利執行其它等待執行的程序。 4.檢查軟體時間器(Software timer,如alarm系統呼叫)跟時間延遲函式 (Delay function)的延遲時間是否已經超過。 Tick Tick是HZ的倒數,意即timer interrupt每發生一次中斷的時間。如HZ為250時,tick為 4毫秒 (millisecond)。 Jiffies Jiffies為Linux核心變數(32位元變數,unsigned long),它被用來紀錄系統自開幾以來 ,已經過多少的tick。每發生一次timer interrupt,Jiffies變數會被加一。值得注意的 是,Jiffies於系統開機時,並非初始化成零,而是被設為-300*HZ (arch/i386/kernel/ time.c),即代表系統於開機五分鐘後,jiffies便會溢位。那溢位怎麼辦? 事實上,Linux核心定義幾個macro(timer_after、time_after_eq、time_before與 time_before_eq),即便是溢位,也能藉由這幾個macro正確地取得jiffies的內容。 另外,80x86架構定義一個與jiffies相關的變數jiffies_64 ,此變數64位元,要等到此 變數溢位可能要好幾百萬年。因此要等到溢位這刻發生應該很難吧。那如何經由jiffies _64取得jiffies資訊呢? 事實上,jiffies被對應至jiffies_64最低的32位元。因此,經 由jiffies_64可以完全不理會溢位的問題便能取得jiffies。 -- □ 本文章由 uefang123-110-129-226.best.dynamic.lsc.net.tw 發表 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.129.226
1F:推 kaioukilu:實用推 08/16 16:57
2F:推 ashin0212:有看有推 08/19 08:09
3F:推 AdrianHuang:呵呵~~沒想到小弟的文章在這裡出現~~ 01/15 13:51







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP