當CPU空閑時它都在做什么?
在 上篇文章中 我說了操作系統行為的基本原理是,在任何一個給定的時刻,在一個 CPU 上有且只有一個任務是活動的。但是,如果 CPU 無...
在這里的解決方案是 動態滴答,當 CPU 處于空閑狀態時,定時器中斷被 暫停或重計劃,直到內核知道將有事情要做時(例如,一個進程的定時器可能要在 5 秒內過期,因此,我們不能再繼續睡眠了),定時器中斷才會重新發出。這也被稱為無滴答模式。
最后,假設在一個系統中你有一個活動進程,例如,一個長時間運行的 CPU 密集型任務。那樣幾乎就和一個空閑系統是相同的:這些示意圖仍然是相同的,只是將空閑任務替換為這個進程,并且相應的描述也是準確的。在那種情況下,每 4 毫秒去中斷一次任務仍然是無意義的:它只是操作系統的性能抖動,甚至會使你的工作變得更慢而已。Linux 也可以在這種單一進程的場景中停止這種固定速率的滴答,這被稱為 自適應滴答 模式。最終,這種固定速率的滴答可能會 完全消失。
對于閱讀一篇文章來說,CPU 基本是無事可做的。內核的這種空閑行為是操作系統難題的一個重要部分,并且它與我們看到的其它情況非常相似,因此,這將幫助我們理解一個運行中的內核。
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
-
當CPU空閑時它都在做什么?
2018-02-02CPU -
物聯網安全測試需要考慮的六點因素
2018-02-02物聯網 -
3D打印技術讓中國五個孩子長出“新”耳朵