史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   作業系統操作技術文件 (http://forum.slime.com.tw/f128.html)
-   -   win2k執行工作詳解 (http://forum.slime.com.tw/thread33269.html)

psac 2003-05-04 02:46 AM

win2k執行工作詳解
 
win2k執行工作詳解
=================

Svchost.exe
Svchost.exe文件對那些從動態連接庫中執行的服務來說是一個普通的主機工作名。Svhost.exe文件定位
在系統的%systemroot%\system32資料夾下。在啟動的時候,Svchost.exe檢查註冊表中的位置來構建需要
載入的服務列表。這就會使多個Svchost.exe在同一時間執行。每個Svchost.exe的回話期間都包含一組服務,
以至於單獨的服務必須依靠Svchost.exe怎樣和在那裡啟動。這樣就更加容易控制和搜尋錯誤。

Svhost 的解釋
Svchost.exe是一個很普通的利用dll動態連接庫來執行服務的程序,它位於system32目錄下。在電腦啟動時,它將讀取註冊表中有關服務的部分,然後建立需要啟動的服務列表。在同一時刻,可能有多個S vchost.exe在同時執行,每個Svchost.exe中可能包含一個或一組服務,同一組內的每個服務都可以在一個Svchost.exe開始執行時在同等的條件下同時啟動。說白一點,之所以要把若干個服務作為一組放在同一個S vchost.exe中來執行,目的就是使這些服務能夠更好的被控制和調試。

  Svchost.exe組的確定是位於註冊表以下這個鍵值之中,HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost,這裡的每一項就是一組服務,也就是大家在任務管理器中看到的一個「Svchost.exe」。每一個REG_MULTI_ SZ中的值就是一個服務組,一個組中可能只有一個服務,也有可能有若干個服務。到底哪些服務是屬於同一個組,那些服務是獨立執行的?您可以在這個鍵值中找到答案,H KEY_LOCAL_MACHINE\System\CurrentControlSet\Services。

  在Windows2000資源工具包中,有一個Tlist.exe文件可以列出當前記憶體中正在執行的Svchost.exe中所包含的服務,命令行用法是「t list.exe -s」。
svchost的確是與服務有關的,更準確的說是COM+服務.啟動組件管理,可以看到COM+下面個Applications,也就是上說兄說的"組"了.
svchost.exe究竟是個什麼性質的工作呢?實際上是COM+為部署在其上的COM
組件新增的代理工作,從而實現用工作內的COM+組件提供遠端使用.因為,大家
都知道,工作內組件一般情況下是不能被遠端使用的~



Svchost.exe 組是用下面的註冊表值來識別。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost
每個在這個鍵下的值代表一個獨立的Svchost組,並且當你正在看活動的工作時,它顯示作為一個單獨的
例子。每個鍵值都是REG_MULTI_SZ類型的值而且包括執行在Svchost組內的服務。每個Svchost組都包含一個
或多個從註冊表值中選取的服務名,這個服務的參數值包含了一個ServiceDLL值。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service

更多的信息
為了能看到正在執行在Svchost列表中的服務。
開始-執行-敲入cmd
然後在敲入 tlist -s (tlist 應該是win2k工具箱裡的鼕鼕)
Tlist 顯示一個活動工作的列表。開關 -s 顯示在每個工作中的活動服務列表。如果想知道更多的關於
工作的信息,可以敲 tlist pid。

Tlist 顯示Svchost.exe執行的兩個例子。
0 System Process
8 System
132 smss.exe
160 csrss.exe Title:
180 winlogon.exe Title: NetDDE Agent
208services.exe
Svcs: AppMgmt, Browser, Dhcp, dmserver, Dnscache, Eventlog, lanmanserver, LanmanWorkstation, LmHosts, Messenger, PlugPlay, ProtectedStorage, seclogon, TrkWks, W32Time, Wmi
220 lsass.exe Svcs: Netlogon,PolicyAgent,SamSs
404 svchost.exe Svcs: RpcSs
452 spoolsv.exe Svcs: Spooler
544 cisvc.exe Svcs: cisvc
556 svchost.exe Svcs: EventSystem,Netman,NtmsSvc,RasMan,SENS,TapiSrv
580 regsvc.exe Svcs: RemoteRegistry
596 mstask.exe Svcs: Schedule
660 snmp.exe Svcs: SNMP
728 winmgmt.exe Svcs: WinMgmt
852 cidaemon.exe Title: OleMainThreadWndName
812 explorer.exe Title: Program Manager
1032 OSA.EXE Title: Reminder
1300 cmd.exe Title: D:\WINNT5\System32\cmd.exe - tlist -s
1080 MAPISP32.EXE Title: WMS Idle
1264 rundll32.exe Title:
1000 mmc.exe Title: Device Manager
1144 tlist.exe
在這個例子中註冊表設置了兩個組。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost:
netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent Rasauto Rasman Remoteaccess SENS Sharedaccess Tapisrv Ntmssvc
rpcss :Reg_Multi_SZ: RpcSs

smss.exe

csrss.exe

這個是用戶模式Win32子系統的一部分。csrss代表客戶/伺服器執行子系統而且是一個基本的子系統
必須一直執行。csrss 負責控制windows,新增或者刪除線程和一些16位的虛擬MS-DOS環境。

explorer.exe
這是一個用戶的shell(我實在是不知道怎麼翻譯shell),在我們看起來就像任務條,桌面等等。這個
工作並不是像你想像的那樣是作為一個重要的工作執行在windows中,你可以從任務管理器中停掉它,或者重新啟動。
通常不會對系統產生什麼負面影響。

internat.exe

這個工作是可以從任務管理器中關掉的。
internat.exe在啟動的時候開始執行。它載入由用戶指定的不同的輸入點。輸入點是從註冊表的這個位置
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload 載入內容的。
internat.exe 載入「EN」圖示進入系統的圖示區,允許使用者可以很容易的轉換不同的輸入點。
當工作停掉的時候,圖示就會消失,但是輸入點仍然可以通過控制台來改變。

lsass.exe
這個工作是不可以從任務管理器中關掉的。
這是一個本機的安全授權服務,並且它會為使用winlogon服務的授權用戶產生一個工作。這個工作是
通過使用授權的包,例如預設的msgina.dll來執行的。如果授權是成功的,lsass就會產生用戶的進入
令牌,令牌別使用啟動初始的shell。其他的由用戶啟始化的工作會繼承這個令牌的。

mstask.exe
這個工作是不可以從任務管理器中關掉的。
這是一個任務調度服務,負責用戶事先決定在某一時間執行的任務的執行。

smss.exe
這個工作是不可以從任務管理器中關掉的。
這是一個會話管理子系統,負責啟動用戶會話。這個工作是通過系統工作啟始化的並且對許多活動的,
包括已經正在執行的Winlogon,Win32(Csrss.exe)線程和設定的系統變量作出反映。在它啟動這些
工作後,它等待Winlogon或者Csrss結束。如果這些過程時正常的,系統就關掉了。如果發生了什麼
不可預料的事情,smss.exe就會讓系統停止回應(就是掛起)。

spoolsv.exe
這個工作是不可以從任務管理器中關掉的。
緩衝(spooler)服務是管理緩衝池中的列印和傳真作業。

service.exe
這個工作是不可以從任務管理器中關掉的。
大多數的系統核心模式工作是作為系統工作在執行。

System Idle Process
這個工作是不可以從任務管理器中關掉的。
這個工作是作為單線程執行在每個處理器上,並在系統不處理其他線程的時候分派處理器的時間。

taskmagr.exe
這個工作是可以在任務管理器中關掉的。
這個工作就是任務管理器。

winlogon.exe
這個工作是管理用戶登錄和推出的。而且winlogon在用戶按下CTRL+ALT+DEL時就啟動了,顯示安全對話視窗。

winmgmt.exe
winmgmt是win2000客戶端管理的核心組件。當客戶端應用程式連接或當管理程序需要他本身的服務時這個工作啟始化。


Q:

我用的是W2k,一般不會出現winmgmt.exe 這個工作。
一出現時,就可在事件檢視器裡見到這樣一個錯誤:
找不到名稱空間:\\root\ms 404
或類似的錯誤。

是什麼原因呢?

A:

如何解決 WinMgmt.exe 產生錯誤

``症狀:
``Window 2000 Professional 當機後,重啟,就發現提示:
``WinMgmt.exe 產生錯誤,會被Windows關閉。您需要重新啟動程序。
``在事件檢視器中有如下信息:
``應用程式錯誤:WMI ADAP 無法處理性能庫:0x80041001。

``解決辦法:
``如果%Syestemroot%\System32\Wbem\Repository文件毀壞,可能導致上述情況發生,可以做以下操作:
``1. 右My Computer,選擇Manage
``2. 在」services and application」下,選擇Services, 停掉Windows Management Instrumentation service
``3. 刪除Repository資料夾下的所有文件。
``4. 從新開啟Windows Management Instrumentation service,被刪除的文件將根據註冊表中:
````HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs
``的信息重建。
``注意: 有些程序不將MOF文件增加到註冊表列表中,重建的文件可能導致這些程序出錯。

戰神2001 2003-05-14 03:59 PM

System Idle Process 一直站我的cpu使用率為什麼

9151002 2003-05-15 12:13 AM

那是系統核心用來控管全系統CPU資源的程式
CPU主由它來分配各軟體的CPU資源

waltertwtp 2003-05-22 04:37 PM

感謝大大指導

jsteven 2003-05-23 10:23 AM

System Idle Process 是表示目前CPU閒置的量
愈多表示愈閒 無事可做
所以不用擔心啦


所有時間均為台北時間。現在的時間是 11:57 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1