- Windows-Systemdienst
-
Ein Windows-Systemdienst ist ein Programm das als spezialisierter Dienst im Hintergrund von Windows läuft und Funktionalitäten des Betriebssystemes bündelt um sie Dritten zur Verfügung zu stellen. Vom Konzept her ist er dem Unix-Daemon ähnlich.
Inhaltsverzeichnis
Funktionsweise
Windows-Systemdienste (auch kurz einfach Dienste oder englisch Services) bilden sozusagen das „Rückgrat“ von Windows und vermitteln dabei oftmals zwischen der Hardware-Ebene und der Software-Ebene. Ein gutes Beispiel hierfür ist der „Plug & Play“-Dienst, ohne diesen könnten weder Applikationen die angeschlossene Hardware, wie eine Maus, nutzen noch könnte sich ein Gerät automatisch am Betriebssystem anmelden. Durch einen sogenannten Dienstvertrag (auch Schnittstellenspezifikation) wissen sowohl Hardware als auch Software im Voraus genau wie sie einen Dienst ansprechen müssen um eine bestimmte Funktionalität zu nutzen.
Die eigentliche Implementierung des Dienstes hängt dabei vom Umfeld (Windows Version, 32 oder 64bit System, usw.) ab, die Schnittstellen des „Plug & Play“-Dienstes sind aber auf allen Windows Systemen (ab XP) vom Prinzip her fast gleich oder zumindest rückwärtskompatibel.
Dienste kommunizieren dabei nicht direkt mit dem Anwender, sie selbst besitzen keine Benutzerschnittstelle. Häufig gibt es zur Konfiguration und Steuerung eines Dienstes separate Programme, in Windows werden die meisten dieser Programme in der Systemsteuerung zusammengefasst.
Windows stellt den Service Control Manager
services.exe
bereit, der das Starten und Anhalten von Diensten verwaltet. Er ist ein RPC-Server.[1] Seine Benutzerschnittstellen sind die Microsoft Management Console und der Kommandozeileninterpretercmd.exe
. Ein Programm, das als Dienst gestartet werden soll, muss so geschrieben sein, dass es mit den Befehlenstart|pause|continue|stop
des Service Control Managers umgehen kann.In der Regel liegen als Dienst auszuführende Programme als ausführbare Datei vor. In einer Dynamic Link Library vorliegende Programme werden über die ausführbare Datei
Svchost.exe
(service host) aufgerufen, die die Dienste lädt, ausführt und gegebenenfalls beendet.[2]. Ein Dienst kann automatisch beim Hochfahren des Betriebssystems gestartet werden, manuell auf Anforderung anderer Programme gestartet werden oder deaktiviert sein.[3]Ein Dienst wird installiert, indem sein Name, die ausführbare Datei und andere Angaben in die Registrierungsdatenbank eingetragen werden. Standardmäßig arbeiten Dienste als lokales System mit umfassenden Zugriffsrechten. Sie können aber auch so eingerichtet werden, dass sie unter einem Benutzerkonto oder mit minimalen Zugriffsrechten als Netzwerkdienst oder lokaler Dienst arbeiten.
Verwaltung
Dienste können mit dem MMC-Snap-In Services.msc verwaltet werden. Erweiterte Möglichkeiten wie das Erstellen, Löschen und Definieren der Abhängigkeiten von Diensten bietet das Kommandozeilen-Tool sc.exe[4]. Dieses ist seit Windows XP bzw. Windows Server 2003 in der Standardinstallation von Windows enthalten, kann aber auch unter anderen Windows-Versionen über das Resource Kit nachinstalliert werden.
Anwendungen
Einige grundlegende Systemfunktionen werden von Diensten bereitgestellt. Solche Dienste werden ungeachtet der Variante von Windows automatisch mit dem Betriebssystem gestartet.
Beispiele:
- Arbeitsstationsdienst – ermöglicht Clients, auf ein Netzwerk zuzugreifen
- Automatische Updates – überwacht Microsoft Update, lädt Updates herunter und installiert sie
- DHCP-Client – ermöglicht es, automatisch eine IP-Adresse zugewiesen zu bekommen
- DNS-Client – findet die IP-Adressen zu Namen, z. B. de.wikipedia.org
- Druckwarteschlange – der Spooler, der das Drucken ermöglicht
- Server – ermöglicht, den Spooler und Dateien gemeinsam im Netzwerk zu nutzen
- Taskplaner – führt Programme zu bestimmten Zeitpunkten automatisch aus
- Plug & Play – überwacht und unterstützt Änderungen der Hardware
Auch Programme, die nicht zum Lieferumfang von Windows gehören, arbeiten regelmäßig als Dienst. Typische Beispiele dafür sind:
- Server jeder Art
- Antivirenprogramme und andere Sicherheitssoftware
- Werkzeuge zur Datensicherung und -replikation
Literatur
- Axel Vahldiek, Christoph Hoppe: Mit erhöhter Schlagzahl. c’t 17/2005 S. 102ff – mit Angaben zu c't-Artikeln speziell zu einzelnen Diensten
- Bedrohungen und Gegenmaßnahmen. Kapitel 7: Systemdienste. Microsoft TechNet, 27. Dezember 2005 – mit einer Beschreibung etlicher sicherheitsrelevanter Dienste mit Fokus auf Windows Server 2003
- Axel Vahldiek: Unter falscher Flagge. Programme ohne Nutzeranmeldung starten. c't 6/2004 S. 234ff – über das Starten beliebiger Programme als Dienst
Einzelnachweise
- ↑ Service Control Manager. Microsoft. Abgerufen am 8. April 2009.
- ↑ Beschreibung von Svchost.exe unter Windows 2000, Microsoft MSKB
- ↑ Services that are turned off by default in Windows Server 2003. Microsoft. Abgerufen am 3. April 2009.
- ↑ http://support.microsoft.com/kb/251192/de Microsoft Hilfe und Support
Wikimedia Foundation.