倍可親

回復: 1
列印 上一主題 下一主題

解析Windows操作系統兩大進程

[複製鏈接]

1萬

主題

1萬

帖子

1萬

積分

八級貝殼核心

倍可親終生會員(廿一級)

Rank: 5Rank: 5

積分
18033
跳轉到指定樓層
樓主
kent 發表於 2006-7-20 11:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在這將著重介紹一下Windows系統的Svchost.exe和Explorer.exe兩種進程,作為Windows系統中兩種重要的進程,下面我們就來看看他們的特點以及在各個操作系統中的應用。

  Explorer

  在Windows系列的操作系統中,運行時都會啟動一個名為Explorer.exe的進程。這個進程主要負責顯示系統桌面上的圖標以及任務欄,它在不同的系統中有不同的妙用。

  Explorer在Windows 9x中的應用

  在Windows 9x中,這個進程是運行系統時所必需的。如果用「結束任務」的方法來結束Explorer.exe進程,系統就會刷新桌面,並更新註冊表。所以,我們也可以利用此方法來快速更新註冊表。方法如下:

  按下Ctrl+Alt+Del組合鍵,出現「結束任務」對話框。在該對話框中選擇「Explorer」選項,然後單擊「結束任務」按鈕,將出現「關閉Windows」對話框。單擊「否」按鈕,系統過一會兒將出現另一個對話框,告訴你該程序沒有響應,詢問是否結束任務。單擊「結束任務」按鈕,則更新註冊表並返回Windows 9x系統環境中。這比起煩瑣的重新啟動過程要方便多了?

  Explorer在Windows 2000/XP中的應用

  在Windows 2000/XP和其他Windows NT內核的系統中,Explorer.exe進程並不是系統運行時所必需的,所以可以用任務管理器來結束它,並不影響系統的正常工作。打開你需要運行的程序,如記事本。然後右擊任務欄,選擇「任務管理器」,選中「進程」選項卡,在窗口中選擇

  Explorer.exe進程,單擊「結束進程」按鈕,,接下來桌面上除了壁紙(活動桌面Active Desktop的壁紙除外),所有圖標和任務欄都消失了。此時你仍可以像平常一樣操作一切軟體。

  如果你想運行其他軟體,但此時桌面上空無一物,怎麼辦?別著急,下面有兩種可以巧妙地打開其他軟體:

  第一種方法:按下Ctrl+Alt+Del組合鍵,出現「Windows安全」對話框,單擊「任務管理器」按鈕(或是直接按下Ctrl+Shift+Esc組合鍵),在任務管理器窗口中選中「應用程序」選項卡,單擊「新任務」,在彈出的「創建新任務」的對話框中,輸入你想要打開的軟體的路徑和名稱即可。

  你還可以在正在運行的軟體上,選擇「文件→打開」,在「打開」對話框中,點擊「文件類型」下拉列表,選擇「所有文件」,再瀏覽到你想打開的軟體,右擊它,在快捷菜單中選擇「打開」命令,就可以啟動你需要的軟體了。注意,此時不能夠通過單擊「打開」按鈕來打開軟體,此種方法適用於大多數軟體,Office系列除外。

  通過結束Explorer.exe進程,還可以減少4520KB左右的系統已使用內存,無疑會加快系統的運行速度,為資源緊張的用戶騰出了寶貴的空間。

Svchost.exe

  Svchost.exe是NT核心繫統的非常重要的進程,對於2000、XP來說,不可或缺。很多病毒、木馬也會調用它。所以,深入了解這個程序,是玩電腦的必修課之一。

  大家對Windows操作系統一定不陌生,但你是否注意到系統中「Svchost.exe」這個文件呢?細心的朋友會發現Windows中存在多個 「Svchost」進程(通過「ctrl+alt+del」鍵打開任務管理器,這裡的「進程」標籤中就可看到了),為什麼會這樣呢?下面就來揭開它神秘的面紗。

  在基於NT內核的Windows操作系統家族中,不同版本的Windows系統,存在不同數量的「Svchost」進程,用戶使用「任務管理器」可查看其進程數目。一般來說,Win 2000有兩個Svchost進程,Win XP中則有四個或四個以上的Svchost進程(以後看到系統中有多個這種進程,千萬別立即判定系統有病毒了喲),而Win 2003 server中則更多。這些Svchost進程提供很多系統服務,如:rpcss服務(remote procedure call)、dmserver服務(logical disk manager)、dhcp服務(dhcp clieNT)等

  如果要了解每個Svchost進程到底提供了多少系統服務,可以在Win 2000的命令提示符窗口中輸入「tlist -s」命令來查看,該命令是Win 2000 support tools提供的。在Win XP則使用「tasklist /svc」命令。

  Svchost中可以包含多個服務

  Windows系統進程分為獨立進程和共享進程兩種,「Svchost.exe」文件存在於「%systemroot% system32」目錄下,它屬於共享進程。隨著Windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由 Svchost.exe進程來啟動。

  但Svchost進程只作為服務宿主,並不能實現任何服務功能,即它只能提供條件讓其他服務在這裡被啟動,而它自己卻不能給用戶提供任何服務。那這些服務是如何實現的呢?

  原來這些系統服務是以動態鏈接庫(dll)形式實現的,它們把可執行程序指向 Svchost,由Svchost調用相應服務的動態鏈接庫來啟動服務。那Svchost又怎麼知道某個系統服務該調用哪個動態鏈接庫呢?這是通過系統服務在註冊表中設置的參數來實現。

  從啟動參數中可見服務是靠Svchost來啟動的。

  因為Svchost進程啟動各種服務,所以病毒、木馬也想盡辦法來利用它,企圖利用它的特性來迷惑用戶,達到感染、入侵、破壞的目的(如衝擊波變種病毒「w32.welchia.worm」)。但Windows系統存在多個Svchost進程是很正常的,在受感染的機器中到底哪個是病毒進程呢?這裡僅舉一例來說明。

  假設Windows XP系統被「w32.welchia.worm」感染了。正常的Svchost文件存在於「c:\Windows\system32」目錄下,如果發現該文件出現在其他目錄下就要小心了。「w32.welchia.worm」病毒存在於「c:\Windows\system32Win s」目錄中,因此使用進程管理器查看Svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。

  Windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟體,如「Windows優化大師」進程管理器,通過這些工具就可很容易地查看到所有的Svchost進程的執行文件路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。

61

主題

429

帖子

136

積分

貝殼網友一級

新新移民(六級)

Rank: 3Rank: 3

積分
136
沙發
fzz200318 發表於 2006-7-20 20:49 | 只看該作者
很有幫助的好文章!
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-8-9 14:02

快速回復 返回頂部 返回列表