Windows電源管理之睡眠與休眠

 

今日在網絡上看到一篇文章(參見:http://windows.chinaitlab.com/skill/825365.html),講的是如何利用註冊表來實現 Windows 7 在休眠狀態下繼續維持網絡連接並且能夠讓下載軟件繼續工作。

考慮到尊重原文,我還是懷着十分懷疑的態度按照文中所示的方法進行了測試,結果不出我所料,文中的方法是錯誤的。而且,原文作者混淆了計算機睡眠與休眠。

於是,我在這裏講講系統睡眠與休眠的區別以及原文章錯誤之處。

睡眠

當計算機使用睡眠功能時,系統會將當前所有會話(session)的狀態信息寫入至內存中,進入睡眠狀態後,除了內存,計算機中其他的硬件設備都將處於電力關閉的狀態,也就是說在計算機睡眠時,只有內存維持有極低的電力消耗,而其他設備都將是斷電狀態。在這種情況下,計算機只會有極低的功耗,但卻維持了非常易於恢復的待機狀態,用戶只需按下電源按鈕,系統即會將內存中所保存的會話信息重新恢復至其他設備,這一過程非常迅速。但是,睡眠狀態下的計算機要求有電力支持,假如計算機電源斷開或者電池耗盡,內存將會丟失所有信息,計算機則無法成功恢復之前的工作狀態。

休眠

與睡眠功能不同的是,休眠功能將系統所有的會話(session)信息保存到了硬盤上的轉儲文件中,這就要求了計算機必須有充足的空間來存儲轉儲文件,通常轉儲文件都是比較大的,可能需要 5G 左右。比起睡眠功能,由於轉儲的會話信息不再保存在易失性的內存上而是在硬盤文件中,所以不再要求計算機需要電力支持。當計算機進入休眠狀態之後,所有的硬件設備的電力供應都將停止,也就是說,這時計算機的狀態與關機無異,所有設備都處在斷電的情況下。但是,不足的一點是,因爲計算機的所有設備都失去了電力供應,因此在開機時依然需要經歷與正常開機無異的主板 BIOS 自檢、引導等過程,只是在加載操作系統時是從硬盤中的轉儲文件中提取之前的會話狀態而已,因此,這一過程比起睡眠要更爲緩慢和持久,這不僅是開機過程的限制,也是硬盤性能的限制。

睡眠和休眠功能都是系統硬件設備提供的較爲高級的電源管理功能,兩者相對而言,各有優缺,睡眠功能恢復快,但是要求電力的持續供應,有電力消耗——雖然極低;而休眠功能則恢復較慢,但是不要求電力的持續供應。就這些特點而言,睡眠功能適合於短暫離開電腦時使用,一旦長時間離開計算機,假如發生了電力中斷的情況將造成不可恢復的數據損失;休眠適合於長時間離開計算機時使用,但是要求計算機有足夠的硬盤存儲空間。

至於文章開頭處所說的那篇文章,我想那位作者大概混淆了睡眠與休眠,就我前文所言,不論是睡眠還是休眠,都是要斷開網絡設備電力供應的,因此,就這一點而言,那篇文章的目的就無法達到。

爲了進一步說明和解釋那篇文章的錯誤,我們先來看看 Windows 7 中對睡眠和休眠的解釋:

睡眠功能

從系統給出的說明中可以看出,系統將會進入一個低功耗的狀態。

休眠功能

系統明確指出系統將關閉計算機。

我們回過頭來看看那篇文章結尾處的敘述:

明顯,系統電力都中斷了,休眠狀態下聯網下載必然是不可能實現的。

其實,那篇文章中所說的那個功能是從 Windows Vista 開始內置的一種高級電源模式,叫做“離開模式”,在註冊表中的位置是:

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power

新建 DWORD32 項

名爲:AwayModeEnabled

值爲:1

 

該功能會將系統中原有的“睡眠”功能將具備“離開”模式,根據微軟的官方解釋:

離開模式下如果系統被計劃任務喚醒或者具有網絡操作、硬盤操作等,這些操作將不會受到睡眠功能的影響而會繼續運行。

也就是說,在註冊表中添加了上述項後,如果計算機正在執行網絡下載、磁盤整理、文件複製,或者系統計劃任務內有電視錄製等,將不會暫停,而會在儘可能低的功耗下完成這些任務。

到此,讀者應該明白爲什麼說原文將睡眠與休眠混淆。還需要各位知道的是,睡眠功能、離開模式等都需要計算機的硬件設備支持高級電源管理功能纔可以使用。對於 Windows XP 用戶而言,微軟官方爲 Windows XP 同樣提供了一個補丁包,用以支持睡眠狀態下的離開模式,有興趣的朋友可以去微軟的官方網站上面檢索一下,恕我這裏就不提供鏈接了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章