2010-05-14 82 views
3

只是出於興趣:系統空閒進程的源代碼是什麼? 哪些指令被執行? CPU如何管理進入省電模式?系統空閒進程的源代碼

+0

哪個操作系統? – 2010-05-14 16:16:08

+0

@Paul:Windows。 – SLaks 2010-05-14 16:16:55

回答

5

系統空閒進程連續執行KiIdleLoop,每個處理器有一個線程。您可以使用Process Explorer等進程查看器來查看。該功能主要檢查延遲過程調用(DPC)列表並執行任何未決項目(例如定時器和硬件組件)。然後調用電源管理(PoIdle),調用HAL(HalProcessorIdle),以便輸入「省電模式」。這在x86系統中僅包含啓用中斷(sti),然後是hlt指令。

+1

我建議您對描述進行一些更改,但否則它會顯示在金錢上。首先「系統空閒進程」不是一個真正的進程 - 它沒有虛擬機,你不能殺死它等等。空閒線程也不需要檢查DPC - 如果存在DPC,它將被處理(只要沒有更重要的事情要做) - 線程正在運行的事實意味着沒有DPC可以運行。 – Stewart 2010-05-16 18:36:18