開發 LSP 遇到的蛋疼問題 - 解釋原理篇

  此前,UMU 在《開發 LSP 遇到的蛋疼問題》http://my.oschina.net/umu618/blog/95163,對那個蛋疼的問題,作出了這樣的推測:系統提供了某種機制讓系統服務在下一次重啓後快速恢復了運行現場!如今終於明白是怎麼回事了,請看下文: 工具

在安裝 Win8 後,不少人都體驗到了其開關機驚人的速度,尤爲是開機速度,相比 Win7 之下,它提高的不止是一點半點。在某些超極本和配備了 SSD 的機器上,其開關機速度能夠在數秒之內。例如 Surface Pro,其實測系統引導速度爲2秒,從啓動到自動登陸到開始屏幕只要6秒。 .net

到底是什麼技術提高了 Win8 的開關機速度呢?若是要用最簡單的一句話歸納,那應該是"系統會話休眠",或者更簡單的,"混合式關機"。 blog

在 以往的 Windows OS 中,典型的關機順序爲: 開發

1. 單擊"關機"。 get

2. Windows 廣播運行應用程序關機信息,讓應用程序能夠保存數據和設置。應用程序也能夠要求一些額外的時間以結束其當前工做。 登錄

3. Windows 爲每一個登陸用戶關閉用戶會話。 程序

4. Windows 向服務發送關機信息,通知已開始關機,接着關閉服務。若是服務未響應,系統將強制關閉。 技術

5. Windows 向設備廣播信息,示意設備進行關閉。 數據

6. Windows 關閉系統會話(也稱爲"會話 0")。 計算機

7. Windows 刷新系統驅動器待決數據,以確保徹底保存。

8. Windows 經過 ACPI 界面向系統發送信號以給計算機斷電。

看着以上的典型關機步驟,你是否是也有想到一些步驟對應的屏幕上的 UI 表現呢~

再來看看 Windows 8 採用的混合式關機主要步驟:

1. 單擊"關機"。

2. Windows 廣播運行應用程序關機信息,讓應用程序能夠保存數據和設置。應用程序也能夠要求取得一些額外的時間以結束其當前工做。

3. Windows 爲每一個登陸用戶關閉用戶會話。

4. 系統會話休眠,並掉電。

可見,Windows 8 只關閉用戶會話而不像之前那樣徹底關閉計算機。此時, Windows 再也不等待並結束系統服務和關閉會話 0,而是讓其進入休眠。這種關閉用戶會話+休眠系統服務和系統會話的作法,被稱爲"混合式關機",也就不難理解了。

或者說得通俗點,就比如你以前打掃衛生時,須要先組裝專業的拖布,組裝好了之後,才能開始打掃衛生。而如今,你能夠拿起拖布直接開始打掃,由於你上次打掃完以後,並無將拖布這一工具像以往那樣拆卸下來收好。

開機在結構上是關機的逆過程,因此有了混合式關機,開機天然也就快了。可是,除了 RAID 卡外,通常硬盤的讀取速度會比寫入速度略快,加上關機的時候,系統會通知並等待應用程序退出,因此從感官上,開機過程會比關機過程顯得要快一些。

  關機關得快果真是有風險的!

相關文章
相關標籤/搜索