Windows 進入睡眠前系統會執行哪些操作?

為什麼筆記本有時候進入睡眠很快,1~2秒就睡了,有時候非常的慢,跟關機一樣的慢,驅動安裝正常,沒有使用混合睡眠。


從宏觀的角度上講就是曹偉的回答。

稍微說細一點的話,先是所有的應用程序進行掛起,然後是驅動程序掛起,控制硬體進入低功耗模式或是切斷供電(視硬體,驅動的特性而定),然後操作系統掛起,進入一段特殊代碼(一般是彙編程序)讓CPU Suspend,讓RAM進入特殊模式(如果有特殊模式的話),並且設置CPU中斷響應,以便在外邊有特定操作時(比如特定的某個按鍵被按下)執行CPU中斷以喚醒系統。

在WINDOWS MOBILE平台上是這樣的。從原理上講桌面版本的WINDOWS也應如此。

另外,這方面的開發雖然有操作系統提供的電源管理模型,但是每個外設,每個驅動,都需要進行配合,這個功能想做到穩定,功耗低,是非常困難的。


系統會將內存中的數據全部轉存到硬碟上的休眠文件中(這一點類似休眠),然後關閉除了內存外所有設備的供電,讓內存中的數據依然維持著(這一點類似待機)。這樣,當我們想要恢復的時候,如果在睡眠過程中供電沒有發生過異常,就可以直接從內存中的數據恢復(類似待機),速度很快;但如果睡眠過程中供電異常,內存中的數據已經丟失了,還可以從硬碟上恢復(類似休眠),只是速度會慢一點。不過無論如何,這種模式都不會導致數據丟失。

題主所說的進入快慢,與內存中數據大小以及運行進程數目有關。


推薦閱讀:

為什麼 Windows 系統快捷方式圖標帶有一個箭頭?
win7下的imageres.dll文件是怎麼做出來的?
win7快速啟動欄 程序 如何實現點擊打開其某個子文件?
Windows下比較優秀的文本編輯器有哪些?
Windows 7 的資源管理器經常停止工作,會是什麼原因?

TAG:微軟Microsoft | MicrosoftWindows | 操作系統 | 計算機 | Windows7 |