2009-08-12 30 views
23

我聽說過「Tickless OS」這個詞彙。什麼是無滴答的操作系統?

  • 這是什麼意思?
  • 哪些操作系統無紙?
  • 它與非tickless(tickful?)操作系統有什麼不同?
+0

tickless - > Windows 8和Linux自2006年以來。它有助於節省電池,使CPU長時間達到C7深度睡眠狀態。 – 2013-11-26 01:48:24

+1

在Quora上也可以找到驚人的答案http://www.quora.com/Operating-Systems/What-is-a-tickless-kernel – zavg 2014-01-05 14:11:16

+1

這是一個不受撓癢傷害的操作系統。 – nick 2015-07-23 00:25:57

回答

22

操作系統術語中的'tick'是操作系統喚醒以處理任何未決事件的時間間隔。

所以,如果你有100Hz的時鐘週期,然後每秒100次,操作系統將會喚醒,檢查是否有定時器已經過期,如果有的話執行它們的動作,然後再次入睡。在沒有節拍的系統上,操作系統會檢查下一個定時器到期的時間,然後再睡到該時間,而不是每秒喚醒100次以查看是否有任何準備處理。

請注意,當CPU處於活動狀態時,顯然不會進入任何類型的睡眠模式,並且內核將爲調度目的而設置中斷。當只有一個進程正在運行時,CPU沒有任何運行或(在現代Linux內核中)沒有任何運行,這只是無風險的(正如註釋所指出的那樣)。

Linux可以運行帶有或不帶有刻度的編譯時開關。我不知道其他系統。

+1

這實際上是錯誤的。我認爲一開始也沒有意思。然而,無tickless內核今天不存在。它們是「全動態滴答」,這隻意味着當有0個或1個任務運行時,它們的週期性定時器停用,但其餘時間仍然存在。 (在內核2.16.18和3.0.x之間,NO_HZ選項僅在0任務正在運行時取消激活刻度,3.1爲完整動態。) – 2013-11-26 01:46:32

+0

@ v.oddou,我添加了一些說明文字。我試圖談論那些沒有執行流程的案例,但它並不十分清楚。 – 2013-11-26 15:15:59

+0

好的澄清。關於其他系統:我聽說Windows 8是「無滴答」的,我沒有閱讀關於內部的書,所以我不確定MS的「無tick」意味着是否與linux相同。 – 2013-11-27 08:29:42

9

此鏈接提供一些見解:Avoiding Processor Wake-Ups Saves Power

從上面的鏈接片段,

爲了充分利用最新的 處理器提供的 低功率狀態的最大優勢,操作系統有 允許處理器儘可能保持在 這些狀態。在Linux的 長期功能* 操作系統一直是一個計時器滴答 支持,例如幫助 操作系統保持內部 時間並監測各種 應用程序和進程的CPU使用率的服務。

雖然這計時器滴答是有用的,它 還具有喚醒處理器時,它是在 低功率狀態多達1000每秒 倍的不幸的副作用 。事實上,在某些 的情況下,tick可以防止處理器根本不能進入深度節能狀態 。顯然, 這種影響可能會對系統的電力使用造成顯着的負面影響 系統。

+0

鏈接已過期 – Alchemist 2017-12-12 09:03:25

相關問題