系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程如何使操作系統(tǒng)快速開關(guān)機(jī)之謎?

如何使操作系統(tǒng)快速開關(guān)機(jī)之謎?

時間:2011-10-21 09:45:39 作者:不后悔 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20111021/1857.html 手機(jī)查看 評論

    總有人在抱怨Windows的關(guān)機(jī)是如何的緩慢,實際上Windows本身的關(guān)機(jī)速度已經(jīng)很快的了。問題主要出在用戶安裝的程序上面,由于一些設(shè)計不好的應(yīng)用程序或驅(qū)動程序的問題,造成了關(guān)機(jī)上的延遲。針對這個問題,網(wǎng)絡(luò)上出現(xiàn)了類似于下面的技巧:

  打開任務(wù)管理器,按住“Ctrl”鍵的同時,再單擊任務(wù)管理器窗口中的菜單“關(guān)機(jī)→關(guān)閉”命令時,系統(tǒng)會快速地被關(guān)閉,同樣,在按住“Ctrl”鍵時,選擇其他命令(例如重新啟動)時,也會達(dá)到快速執(zhí)行該命令的目的。

  同時,也出現(xiàn)了像SuperFast Shutdown一樣的快速關(guān)機(jī)軟件。

  在討論上述技巧原理之前,先說說Windows是如何關(guān)機(jī)的:Windows關(guān)機(jī)步驟涉及到Windows多個組件和多個過程,簡單的說,Windows的關(guān)機(jī)步驟不是大多數(shù)人認(rèn)為的那么簡單;镜倪^程是這樣的:

  1. 用戶發(fā)起關(guān)機(jī)指令以后,發(fā)起關(guān)機(jī)指令的程序會通知Windows子系統(tǒng)CSRSS.EXE,CSRSS.EXE收到通知以后會和Winlogon.EXE做一個數(shù)據(jù)交換,接著由Winlogon.EXE通知CSRSS.EXE開始關(guān)閉系統(tǒng)的流程 。

  2. CSRSS.EXE收到Winlogon.EXE的通知以后,會依次查詢擁有頂層窗口的用戶進(jìn)程,讓這些用戶進(jìn)程退出。如果某一個用戶進(jìn)程在一個默認(rèn)的超時時間5000毫秒(可以通過修改注冊表鍵值HKEY_CURRENT_USER\Cont rol Panel\Desktop\ HungAppTimeout設(shè)定超時時間)內(nèi)沒有退出的話,Windows會顯示一個結(jié)束任務(wù)對話框用于詢問用戶是否結(jié)束這個任務(wù)。默認(rèn)情況下將顯示這個對話框并一直保持而不會自動關(guān)閉。對于控制臺程序來說,基本情況類似,只不過Windows使用HK EY_CURRENT_USER\Control Panel\Desktop\ WaitToKillAppTimeout值來設(shè)置超時時間。

  3. 接著是輪到終止系統(tǒng)進(jìn)程了。系統(tǒng)進(jìn)程包括SMSS.EXE、Winlogon.EXE、Lsass.EXE等。Windows在終止系統(tǒng)進(jìn)程的時候并不像終止用戶進(jìn)程那樣如果無法在規(guī)定時間內(nèi)終止則提示用戶,而是跳過這個進(jìn)程,去執(zhí)行下一個系統(tǒng) 進(jìn)程的終止操作。使用的超時時間和第2步使用的時間相同。

  上述3個步驟是整個Windows關(guān)機(jī)過程中最耗費時間的一段,大多數(shù)關(guān)機(jī)緩慢的原因都是因為這3個步驟引起的。完成前3個步驟以后,進(jìn)入了關(guān)機(jī)操作的第4個階段,也是最后一個階段。

  4. Winlogon.EXE調(diào)用一個原生API函數(shù)NtShutdownSystem()來命令系統(tǒng)執(zhí)行后面的掃尾工作。在這個階段里面,Windows執(zhí)行子系統(tǒng)會完成最后的關(guān)機(jī)操作,例如:設(shè)備驅(qū)動在這個階段里面完成一些驅(qū)動設(shè)定的特殊操作; 也是在這個階段,配置管理系統(tǒng)將被修改過的注冊表數(shù)據(jù)會寫道磁盤里面。等除了電源管理以后的全部子系統(tǒng)完成退出以后,電源管理完成最后的操作:如重啟、關(guān)機(jī)等。

  了解了Windows的關(guān)機(jī)流程以后,下面分析一下前面說的快速關(guān)機(jī)操作是怎么完成的。先分析一下SuperFast Shutdown的原理,SuperFast Shutdown是使用Visual Basic編寫的,體積很小,就15KB,經(jīng)過分析以后得出一個令人驚訝的結(jié)論:SuperFast Shutdown首先使用RtlAdjustPrivilege()提升自己的權(quán)限,然后直接調(diào)用NtShutdownSystem() 函數(shù)來完成關(guān)機(jī)過程。由于跳過了最為耗費時間的前3個步驟而直接進(jìn)入第4個步驟,所以造成了能夠很快關(guān)機(jī)的假象。

  再看看任務(wù)管理器的快速關(guān)機(jī)是如何實現(xiàn)的:分析結(jié)果也是類似于SuperFast Shutdown的原理,也是通過省略一些步驟來加快關(guān)機(jī)的速度。

  那么,為什么在快速關(guān)機(jī)以后會出現(xiàn)設(shè)置丟失的情況呢?原因在于前3個步驟里面有一個讓進(jìn)程正常退出的可能。大多數(shù)軟件在編寫的時候會把一些設(shè)置保存在自己私有的內(nèi)存空間里面,當(dāng)軟件關(guān)閉的時候才把這些設(shè)置回寫到特定的地方,如注冊表或某個配置文件里面 。而關(guān)機(jī)操作的第4步并沒有提供一種途徑能夠讓這些設(shè)置記錄下來,因為這個階段Windows已經(jīng)認(rèn)為前面所有必須經(jīng)過的流程已經(jīng)完成,剩下的就是Windows核心組件的退出的問題了。在這種情況下,使用快速關(guān)機(jī)導(dǎo)致設(shè)置丟失也不足為怪了。

  因此,為了你系統(tǒng)的健康,關(guān)機(jī)還是按照正常順序來,數(shù)據(jù)的安全性往往比節(jié)省的那幾十秒鐘重要的多。

    按下操作會加快開關(guān)機(jī)時間的:

    1.        開機(jī)程序越少,系統(tǒng)啟動XX越快,開始-運行,鍵入"msconfig".點擊" 啟動",建議你只留下:rfw main,RAV TMER ,RAV MON此三項是瑞星殺毒軟件,應(yīng)隨時啟動對系統(tǒng)進(jìn)行監(jiān)視,ctfmon.exe是輸入法顯示,這項不要刪掉,不然會遇麻煩的.

    2.        另開始-所有程序,找到"啟動".點擊打開后,把里面全部刪掉.有些系統(tǒng)必須用的,你就是設(shè)置他不讓啟動,它也照起不誤.

    3.        用"休眠"加快開機(jī)速度.如果此功能未被開啟,可以:開始-控制面板-性能和維護(hù)-電源選項,單擊"休眠"選項卡,確保選中"啟用休眠'復(fù)選框,單擊確定,以后關(guān)機(jī)時,請選"休眠"若在關(guān)機(jī)對話框中出現(xiàn)"待機(jī)"按住SHIFT",將其轉(zhuǎn)換成"休眠'即可.下子此此開機(jī)時,自動快速恢復(fù)到上此關(guān)機(jī)的狀態(tài).

    4.        如你的系統(tǒng)教穩(wěn)定很少出現(xiàn)系統(tǒng)失敗的故障,可以如下操作:開始-控制面板-性能和維護(hù)-系統(tǒng)",打開"系統(tǒng)特征-高級"選項卡,使用期中的"啟動和故障恢復(fù)"按鈕,打開"啟動和故障恢復(fù)"對話框,將'系統(tǒng)失敗下的"將事件寫入系統(tǒng)日志"和"發(fā)送管理警報"兩項去掉,,然后打開"寫入調(diào)試信息"的下拉列表,選擇"無"以后"確定".4,可下載"優(yōu)化大師'軟件,利用其優(yōu)化功能,也可。僅供參考。

    5.        減少開機(jī)使?jié)L動條滾動次數(shù).開始-運行,確定.鍵入"regedit",打開找到"HKEY-LOCAL-MACHINE- SYSTEM/Current Contralset/Control/Sessin Manager /Memory Management/Preech Paramentrs的分枝,在右側(cè)窗口找到"EnablePrefecher",子健,把它的值設(shè)為:"1",右擊我得電腦-屬性-硬件-設(shè)備管理器- 展開'IDE ATA/ATAPZ控制器",雙擊"次要通道IDE".,在對話框中選中"高級",再"設(shè)備0"中,將原設(shè)的"自動檢測"改為"無",主要通道也如此修改.重啟電腦,滾動條減少為3次(原十幾次).

    6.        開始-運行,確定.鍵入"regedit",打開HKEY-CURRENT-USER/ControlPanel;Desktop/,找到"HungAPPTineout",把它的之改為"5000",另一個"WaitTokillAPPTimeout",把它的值改為"4000".再再 HKEY-LOCAL-MACHINE-System/CurrnentContralset/Control,把其中的 WaitTokillServiceTimeout"的鍵值也改為4000".

標(biāo)簽

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

人氣教程排行

相關(guān)系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄