Windows - SVCHOST.EXE

Az operációs rendszerben futó folyamatokat megnézve találunk egy SVCHOST.EXE fájt, mely helyenként nem is kevés processzoridőt és memóriát igényel. Vajon milyen feladatot lát el ez az alkalmazás? Mihez kötődik? Mikor indul? Mikor és mennyi erőforrásra van szükség a működtetéséhez? Alábbi cikkünkben igyekszünk választ adni minden felmerülő kérdésre.
Az SVCHOST.EXE (szokták Remote Procedure Call Server Service (RPCSS) néven is említeni) egy általános kiszolgálói folyamat (processz), mely több szolgáltatást foglal magában és biztosítja ezek működését. Helyileg a %systemroot%\system32 mappában található meg. Az operációs rendszer indítási fázisában indul el. Elsőként kiolvassa a regisztrációs adatbázisból, hogy mely szolgáltatásokat kell kezelnie, közös jellemzőjük, hogy mindegyik DLL fájlokban tárolódik. Az is lehetséges, hogy egyszerre több példányban fut egyidejűleg, különböző felhasználónevekkel bejelentkezve (pl.: system, network system, stb.).
Nyomjuk le a CTRL+ALT+DEL billentyűkombinációt és lépjünk a "Folyamatok" ("Processes") oldalra. A futó folyamatok listájában látjuk az elindított SVCHOST példányokat és mellette a sokszor nem lényegtelen memória felhasználást, melyet a benne futó szolgáltatások generálnak és függ ezek számától, illetve funkciójától. Ugyanezt a listát parancssorból a TASKLIST segédprogrammal is megkapjuk (Windows XP). Sőt itt még azt is látjuk, hogy az egyes példányok melyik szolgáltatásokat futtatják.

Minden egyes példány egy folyamatot vagy egy folyamatcsoportot tartalmaz, egymástól független memóriaterületen, külön szálban (thread) futtatva. Ez a megoldás lehetővé teszi a nagyobb biztonsági és stabilitás mellett a könnyebb hibakeresést is.
Hogy mely szolgáltatások, milyen csoportokat alkotnak, az alábbi regisztrációs adatbázisbeli kulcs alatt található meg (ugyanaz Windows 2000 és XP alatt):
[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost]
Innen kiindulva minden egyes alkulcs egy különálló folyamatot testesít meg és ezen belül lehetnek szolgáltatás csoportok.
Az SVCHOST-on belül fut Windows XP alatt a Rendszerhelyreállító (System Restore) szolgáltatás, a cserélhető tároló (Removable Storage) szolgáltatás, de példának vehetjük a Windows Management Instrumentation (WMI) programozói interfészét a WINMGMTS-t. Ebből is látható, hogy igen fontos dologról van szó, ha az SVCHOST-ot vírustámadás éri vagy más ok miatt megszűnik működni, akkor olyan lényegi funkciók válnak működésképtelenné, melyek nélkül az operációs rendszer nem tud tovább üzemelni. Fontos tudni, hogy az operációs rendszer védelmet biztosít és a felhasználói felületről nem lehet leállítani az SVCHOST-ot.
Sok hibának, memóriaszivárgásnak az okozója, mely bonyolultságát tekintve nem csoda. A javítások azonban a legtöbb problémához rendelkezésre állnak különböző foltok (patch) vagy Service Pack-ek formájában a stabil és biztonságos működés érdekében kezeljük ezeket kiemelt figyelemmel.