Win8快速開關(guān)機(jī)的奧妙:假關(guān)機(jī)還是真休眠?

2012/9/10 16:17:50    編輯:中關(guān)村在線     字體:【

Win7之家airtaxifl.com):Win8快速開關(guān)機(jī)的奧妙:假關(guān)機(jī)還是真休眠?

隨著Win8正式發(fā)布腳步聲的臨近,用戶對(duì)Windows8的關(guān)注已經(jīng)滲入到了方方面面,其中Win8開關(guān)機(jī)之快已經(jīng)被用戶所認(rèn)可的現(xiàn)實(shí),甚至在配置豪華的電腦上更是實(shí)現(xiàn)8秒完成Win8開機(jī)。微博和論壇也盡是展示W(wǎng)in8開關(guān)機(jī)速度的相關(guān)討論,您如果不親身試一下,確實(shí)很難體會(huì)到Window 8的開機(jī)之飛速。

我們?cè)谳^早前的一些文章中,已經(jīng)對(duì)Win8的開機(jī)速度做過相關(guān)的測(cè)試。Win8開機(jī)真相究竟何在?我們?cè)賮砼俑鶈柕,并且(guī)е@些疑問,來深究一下Win8開機(jī)速度能做到如此境界的根層因素。全面解析Win8開關(guān)機(jī)背后的各項(xiàng)技術(shù)。

假關(guān)機(jī)or真休眠? Win8開關(guān)機(jī)刨根問底

本文將分析點(diǎn)評(píng)三個(gè)問題

何為“混合啟動(dòng)”?Win8在整合既有的啟動(dòng)模式和新增的快速休眠、喚起特性,減少內(nèi)存暫存的數(shù)據(jù)寫入,大幅縮短開機(jī)時(shí)硬盤讀取與初始化的時(shí)間。通過這樣的方式來實(shí)現(xiàn)Win8的快速啟動(dòng)。詳細(xì)內(nèi)容我們將在下文內(nèi)容中逐一分析;

休眠對(duì)Win8起到哪些作用?Win8從休眠模式到開機(jī),啟動(dòng)的過程省掉了大量系統(tǒng)所必要的數(shù)據(jù)讀取;

何時(shí)需要關(guān)機(jī)何時(shí)可休眠?其實(shí)這是一個(gè)非常直接的問題,在Win8系統(tǒng)以前,用戶對(duì)關(guān)機(jī)和休眠的選擇都是非常準(zhǔn)確的,也賦予了明確的定位。那么現(xiàn)在Win8推出之后,休眠和關(guān)機(jī)似乎顯得模糊化了。何時(shí)需關(guān)機(jī)何時(shí)要休眠,后文筆者將具體說明。

何為“混合啟動(dòng)”?

Win8混合啟動(dòng),即是Win8在整合既有的啟動(dòng)模式和新增的快速休眠、喚起特性后,讓操作系統(tǒng)轉(zhuǎn)為一種類似休眠的狀態(tài),同時(shí)減少內(nèi)存暫存的數(shù)據(jù)寫入,大幅縮短開機(jī)時(shí)硬盤讀取與初始化的時(shí)間。

混合啟動(dòng)的基本原理

僅僅休眠系統(tǒng)核心文件,并可以大大增加系統(tǒng)啟動(dòng)速度,混合啟動(dòng)和休眠有什么不同呢?

其實(shí)沒那么簡單!混合啟動(dòng)更快,而且保存數(shù)據(jù)更完美。大家知道,如果直接恢復(fù)到用戶桌面那會(huì)出現(xiàn)個(gè)人隱私保護(hù)的問題。不過微軟應(yīng)該能夠處理好這方面的事情,應(yīng)該會(huì)在喚醒后自動(dòng)先切換到鎖定登陸狀態(tài)。不過談及到真正的開機(jī)和恢復(fù)速度,配合上新一代的SSD硬盤應(yīng)該是首選,這正如蘋果設(shè)備中的存儲(chǔ)技術(shù)是一個(gè)道理。

臺(tái)式機(jī)與筆記本用戶對(duì)電腦關(guān)閉方式的選擇

數(shù)據(jù)顯示,57%的臺(tái)式計(jì)算機(jī)用戶和45%的筆記本電腦用戶會(huì)選擇關(guān)閉他們的計(jì)算機(jī),而不是讓計(jì)算機(jī)進(jìn)入睡眠模式。

Win8關(guān)機(jī)選項(xiàng)

“控制面板→所有控制面板項(xiàng)→電源選項(xiàng)→系統(tǒng)設(shè)置”進(jìn)入到Win相關(guān)選項(xiàng)內(nèi),Win8將一些本該關(guān)閉的內(nèi)核對(duì)話全部保存到一個(gè)名為hiberfil.sys的磁盤文件中,下次開機(jī)時(shí)直接將這里的內(nèi)容寫回內(nèi)存,從而提高系統(tǒng)啟動(dòng)速度。而這一點(diǎn)與當(dāng)年的“混合關(guān)機(jī)Hiber Shutdown”異曲同工。

微軟在Windows8中把混合啟動(dòng)這個(gè)功能用來替代關(guān)機(jī)功能,當(dāng)您要關(guān)機(jī)的時(shí)候,Hybrid Boot實(shí)際上是在利用高級(jí)休眠功能,這樣計(jì)算機(jī)的重啟速度就會(huì)得到大幅提升。當(dāng)然,您是可以在開始菜單中選擇的。

Win8關(guān)機(jī)按鈕

這點(diǎn)實(shí)際上對(duì)平板設(shè)備和智能手機(jī)設(shè)備來說,是必須的。在之前的開發(fā)版本里面,Win8默認(rèn)是采用混合啟動(dòng)技術(shù)的,在開始菜單的最下面點(diǎn)下就行,當(dāng)然這個(gè)混合啟動(dòng)也是可以直接禁止掉的,早控制面板下的電源選項(xiàng)中找到并禁用它即可。

減少內(nèi)存暫存/數(shù)據(jù)寫入

任何一個(gè)操作系統(tǒng)都需要依托于硬盤存儲(chǔ)器之上,Windows 8當(dāng)然也不會(huì)例外。Windows開關(guān)機(jī)的速度似乎跟硬盤、休眠有千絲萬縷的關(guān)系。那么,這里面究竟是一種怎樣的秘密?

Windows 8的系統(tǒng)轉(zhuǎn)為一種類似休眠的狀態(tài),同時(shí)減少硬盤緩存調(diào)用數(shù)據(jù)、內(nèi)存暫存的數(shù)據(jù)寫入,大幅縮短開機(jī)時(shí)硬盤讀取與初始化的時(shí)間。于是可分為硬盤緩存和休眠兩個(gè)部分來進(jìn)行分析。

硬盤緩存

原始意義是指存取速度比一般隨機(jī)存取記憶體RAM來得快的一種RAM,一般而言它不像系統(tǒng)主記憶體那樣使用DRAM技術(shù),而使用昂貴但較快速的SRAM技術(shù),也有快取記憶體的名稱。在計(jì)算機(jī)存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)中,介于中央處理器和主存儲(chǔ)器之間的高速小容量存儲(chǔ)器。

高速緩沖存儲(chǔ)器對(duì)數(shù)據(jù)的運(yùn)作原理

高速小容量存儲(chǔ)器和主存儲(chǔ)器一起構(gòu)成一級(jí)的存儲(chǔ)器。高速緩沖存儲(chǔ)器和主存儲(chǔ)器之間信息的調(diào)度和傳送是由硬件自動(dòng)進(jìn)行的。某些機(jī)器甚至有二級(jí)三級(jí)緩存,每級(jí)緩存比前一級(jí)緩存速度慢且容量大。而這時(shí),一開始的高速小容量存儲(chǔ)器就被人稱為一級(jí)緩存。就這樣硬盤緩存在Windows 8系統(tǒng)啟動(dòng)時(shí)無需過多地進(jìn)行調(diào)用,因?yàn)閣in8的內(nèi)核會(huì)話還沒有真正斷開。

內(nèi)存緩沖

操作系統(tǒng)在從關(guān)閉狀態(tài)或者是休眠狀態(tài)下,啟動(dòng)或者是恢復(fù)過來時(shí),都需要調(diào)用讀取電腦的硬軟件資源,才能順利啟動(dòng)。

各啟動(dòng)進(jìn)程之間的占用對(duì)比

休眠文件的默認(rèn)大小為物理RAM的75%。該文件實(shí)質(zhì)上是用于保存休眠數(shù)據(jù),會(huì)在系統(tǒng)進(jìn)入休眠的同時(shí)寫入。通常實(shí)際使用的空間要小很多,對(duì)于快速啟動(dòng),使用的空間通常為物理RAM的大約10%-15%,但會(huì)根據(jù)具體的驅(qū)動(dòng)器、服務(wù)或其他因素而有所不同。

系統(tǒng)處理休眠文件的方式也與處理磁盤上其他文件的方式略有不同,例如卷快照服務(wù)會(huì)忽略該文件。從提升的命令行提示符運(yùn)行 powercfg/hibernate off來禁用休眠并回收此空間。但需要注意的是,如果選擇這樣做則將徹底禁用休眠,包括一些非常實(shí)用的功能,例如快速啟動(dòng)和混合睡眠,混合睡眠功能允許桌面系統(tǒng)同時(shí)進(jìn)入睡眠和休眠狀態(tài),這樣可以保證電源中斷的情況下,系統(tǒng)可以從休眠狀態(tài)中恢復(fù)。

使用進(jìn)階的休眠功能來替代關(guān)機(jī)功能

休眠是將當(dāng)前處于運(yùn)行狀態(tài)的數(shù)據(jù)保存在硬盤中,在休眠時(shí)可以完全斷開電腦的電源,自動(dòng)關(guān)閉顯示器和硬盤的時(shí)間設(shè)置為多長時(shí)間比較合適應(yīng)看你需要了。

什么是休眠,為什么需要休眠?

休眠,在廣義上包括掛起到內(nèi)存(STR待機(jī))和掛起到硬盤(稱STD)兩種,而我們通常所指的休眠其實(shí)是STD。當(dāng)電腦進(jìn)入休眠狀態(tài)時(shí),電腦首先將內(nèi)存中的狀態(tài)復(fù)制到硬盤,然后關(guān)閉電源。此時(shí)電腦幾乎和通常關(guān)機(jī)一樣“安靜”,你完全可以切斷電源,因?yàn)楸4娴接脖P里面的數(shù)據(jù)不會(huì)由于斷電而丟失

說明Windows7休眠

另外,盡管電腦硬件運(yùn)行速度越來越快,但操作系統(tǒng)的體積也在不斷膨脹,使得電腦開、關(guān)機(jī)時(shí),啟動(dòng)、關(guān)閉的程序越來越多,花費(fèi)時(shí)間也越來越漫長。因此如何讓電腦能夠快速啟動(dòng)、一開機(jī)就進(jìn)入Windows,就成為用戶關(guān)心的問題。

以休眠的方式來恢復(fù)系統(tǒng),想必是啟動(dòng)電腦的所有方式里最高效的一個(gè),所以結(jié)合電腦軟件硬件互相之間的相輔相成關(guān)系,使用休眠既可以保證在休眠過程中的低功耗性,也可以確保Windows系統(tǒng)的快速啟動(dòng)。

何時(shí)才需要徹底關(guān)機(jī)?

Windows 8休眠按鈕

與待機(jī)相比,休眠是不能通過外部設(shè)備來喚醒的,它和正常開機(jī)一樣啟動(dòng)電腦。不過和開機(jī)相比,休眠后啟動(dòng)電腦無需一個(gè)一個(gè)進(jìn)程地來啟動(dòng),只須要將硬盤中的內(nèi)存鏡像讀取到內(nèi)存中即可。隨著硬件和軟件的升級(jí),操作系統(tǒng)開始引入了高級(jí)電源管理,其作用就是在電腦閑置時(shí)關(guān)閉部分設(shè)備,將電腦進(jìn)入等待休息狀態(tài),這樣當(dāng)需要重新使用電腦時(shí),能夠直接從等待休息狀態(tài)盡快恢復(fù)到原先的工作狀態(tài),起到類似于快速啟動(dòng)的效果。同時(shí)不用電腦時(shí)還能節(jié)省不少電能。

當(dāng)然,偶爾您還是需要執(zhí)行徹底關(guān)機(jī),例如,當(dāng)您打開系統(tǒng)以添加或更換某些硬件的時(shí)候;蛘哂械呐笥延X得電腦在是用來了一段很長的時(shí)間之后,感覺電腦系統(tǒng)特別慢了,他們就會(huì)將系統(tǒng)重啟一下。這種方法很有效,但是這個(gè)問題也許在Win8系統(tǒng)下,可能需要考慮的就不會(huì)太必要了。

你選擇關(guān)機(jī)還是休眠?

人們傾向于關(guān)機(jī)是由于他們希望PC徹底“關(guān)閉”,不再消耗任何電量,以便延長電池使用時(shí)間或降低能源消耗。休眠也是一個(gè)不錯(cuò)的選擇,在這種模式下也不會(huì)消耗電量,因此獲得了很多人的青睞。

但是,這種模式顯然并不是適合所有人,因?yàn)槲覀兟犝f許多人希望啟動(dòng)計(jì)算機(jī)后迎來一個(gè)“全新的開始”,而不是繼續(xù)運(yùn)行上一次會(huì)話中的全部事務(wù)。

Windows8關(guān)機(jī)快捷方式制作

在當(dāng)今的PC上,睡眠/恢復(fù)是快速開/關(guān)轉(zhuǎn)換的最佳選擇,但在這種模式下仍會(huì)消耗少量電量以便保存RAM中的內(nèi)容,雖然在經(jīng)過良好優(yōu)化的系統(tǒng)上只會(huì)消耗極少電量,但同樣有可能耗盡電池電量;仡櫼幌挛覀兡壳笆褂檬謾C(jī)的方式,您會(huì)發(fā)現(xiàn)我們很少會(huì)將其重新啟動(dòng),并且始終會(huì)讓手機(jī)處于類似睡眠的狀態(tài)。其實(shí)這就是在傳統(tǒng)的PC平臺(tái)向手機(jī)等移動(dòng)設(shè)備的待機(jī)方式,轉(zhuǎn)變思維的一種必要形式。

睡眠/休眠的注意事項(xiàng)

通常,實(shí)際使用的空間要小很多,對(duì)于快速啟動(dòng),使用的空間通常為物理RAM的大約10%-15%,但會(huì)根據(jù)具體的驅(qū)動(dòng)器、服務(wù)或其他因素而有所不同。系統(tǒng)處理休眠文件的方式也與處理磁盤上其他文件的方式略有不同,例如,卷快照服務(wù)會(huì)忽略該文件(略微提升性能)。

從提升的命令行提示符運(yùn)行powercfg /hibernate off來禁用休眠并回收此空間。但是請(qǐng)注意,如果您選擇這樣做,則將徹底禁用休眠(包括一些非常實(shí)用的功能,例如,快速啟動(dòng)和混合睡眠),混合睡眠功能允許桌面系統(tǒng)同時(shí)進(jìn)入睡眠和休眠狀態(tài),這樣如果出現(xiàn)電源中斷的情況,您仍可從休眠狀態(tài)中恢復(fù)。

通常來說,除非系統(tǒng)的磁盤空間極為有限,否則建議您保留默認(rèn)值。這一全新的快速啟動(dòng)模式可使幾乎所有系統(tǒng)受益,無論其安裝的是旋轉(zhuǎn)式硬盤驅(qū)動(dòng)器(HDD)還是固態(tài)驅(qū)動(dòng)器(SSD)都是如此,但對(duì)于安裝高速SSD的新一代系統(tǒng)效果尤為明顯。

Windows睡眠/休眠的優(yōu)劣勢(shì)特點(diǎn),剛剛我們已經(jīng)幾乎都談到了,那么對(duì)于那么多條件和限定,您會(huì)選擇休眠,還是選擇關(guān)機(jī)?

刨根問底 驗(yàn)明真相--新休眠睡眠機(jī)制

經(jīng)過前面詳細(xì)的開關(guān)機(jī)原理分析討論,我們基本上能得到結(jié)論。其實(shí)Windows 8開關(guān)機(jī)速度之快的奧秘,就在于關(guān)機(jī)直接的說就是關(guān)機(jī)的徹底程度,Windows8關(guān)機(jī)采用的是深度休眠模式。

那么傳統(tǒng)的操作系統(tǒng)所采用的徹底關(guān)機(jī)是什么模式?先來了解過程,然后我們?cè)賮砜偨Y(jié)Windows8開關(guān)機(jī)飛速的最終奧妙。

傳統(tǒng)操作系統(tǒng)啟動(dòng)過程:按下電源按鈕后,PC的固件啟動(dòng)開機(jī)自檢(POST)并加載固件設(shè)置。檢測(cè)到有效的系統(tǒng)磁盤后,預(yù)啟動(dòng)過程結(jié)束;

Win7關(guān)機(jī)過程

傳統(tǒng)操作系統(tǒng)關(guān)機(jī)過程:用戶從“開始”菜單選擇“關(guān)機(jī)”或按下電源按鈕啟動(dòng)關(guān)機(jī)過程;或者應(yīng)用程序通過調(diào)用ExitWindowsEx或InitiateShutdown等API啟動(dòng)關(guān)機(jī)過程。

揭開Windows 8快速開關(guān)機(jī)的奧妙

內(nèi)核會(huì)話將不再被關(guān)閉

與Windows 7中一樣,Windows 8會(huì)關(guān)閉用戶會(huì)話,但不再關(guān)閉內(nèi)核會(huì)話,而是將其休眠。完全休眠包含大量正在由應(yīng)用程序使用的內(nèi)存頁,相比之下會(huì)話0休眠數(shù)據(jù)要小得多,這將大大降低寫入磁盤所需的時(shí)間。

Win7/Win8系統(tǒng)關(guān)機(jī)集成對(duì)比測(cè)試(來源于網(wǎng)絡(luò))

簡而言之,休眠就是將系統(tǒng)狀態(tài)和內(nèi)存內(nèi)容保存到磁盤上的一個(gè)文件(hiberfil.sys)中,然后在恢復(fù)時(shí)重新讀取該文件,并將內(nèi)容恢復(fù)到內(nèi)存中。借助此項(xiàng)技術(shù)將啟動(dòng)時(shí)間顯著縮短,因?yàn)樵诖蠖鄶?shù)系統(tǒng)中,讀取休眠文件并重新初始化驅(qū)動(dòng)程序的方式將大大加快啟動(dòng)速度(在測(cè)試過的大部分系統(tǒng)中,速度普遍提高了30-70%)。

休眠恢復(fù)分段啟動(dòng)處理

與執(zhí)行完整系統(tǒng)初始化相比,恢復(fù)休眠的系統(tǒng)會(huì)話的工作量將大大減少,這是啟動(dòng)速度加快的原因之一。同時(shí),我們添加的多階段恢復(fù)功能可以并行利用多核系統(tǒng)的所有核心,將讀取休眠文件和解壓內(nèi)容的工作分割處理,這是啟動(dòng)速度加快的另一個(gè)原因。這對(duì)于偏好休眠的各位讀者也是一個(gè)好消息,因?yàn)樵摴δ芤矔?huì)加快休眠的恢復(fù)速度。