## Prozessstruktur

Auf Microsoft Windows läuft der Kern der Datenbankinstanz als einzelner Betriebssystemprozess. Auf UNIX gehören zwei Betriebssystemprozesse zum Kern: beim Starten erzeugt das Datenbanksystem einen Watchdog-Prozess, der sich sofort verzweigt und den eigentlichen Kern als Prozess startet. Siehe Übersicht der Prozesse und Übersicht der Dienste.

Der Kern führt alle zentralen Datenbankaufgaben (Tasks) der Datenbankinstanz aus. Hierzu gehören z. B. das Aufbauen von Verbindungen, das Lesen und Schreiben von Daten (I/O), das Überwachen der Datenbankinstanz und das Bearbeiten von SQL-Anfragen (User-Tasks). Jedem an die Datenbank angemeldeten Benutzer ist eine User-Task zugeordnet. Die User-Tasks erzeugen die Hauptlast für den Prozessor. Siehe Übersicht der Tasks und Übersicht der Task-Zustände.

Für Tasks, die parallel ausgeführt werden sollen, erzeugt der Kern Betriebssystem-Threads.

Auf Linux-Systemen ohne NPTL (Native Posix Thread Library) wird jeder Thread durch einen Klonprozess simuliert.

Threads und Tasks einer Datenbankinstanz

Das Datenbanksystem unterscheidet zwei Arten von Threads:

· User-Kernel-Threads (UKTs)

UKTs verarbeiten die Client-Anfragen. Sie sind diejenigen Threads, die am meisten Prozessorzeit verbrauchen. Eine Datenbankinstanz hat in der Regel mehrere UKTs.

In der Regel teilen sich mehrere Tasks einen UKT. Das Datenbanksystem steuert, in welcher Reihenfolge die Tasks in einem UKT laufen, und kann so Konflikte bei Zugriffen auf Ressourcen vermeiden (Task-Wechsel). Um die Tasks optimal auf die UKTs zu verteilen, führt das Datenbanksystem ein internes Load-Balancing durch.

· Spezial-Threads

Spezial-Threads stellen Dienste für die User-Kernel-Threads zur Verfügung. In Spezial-Threads führt das Datenbanksystem diejenigen Tasks aus, deren Dauer nicht vorhersehbar ist, wie z. B. Betriebssystemaufrufe zum Lesen und Schreiben auf Volumes und Verbindungsanfragen von Clients. Das Datenbanksystem arbeitet Spezial-Threads asynchron zu den User-Kernel-Threads ab. Siehe Übersicht der Spezial-Threads.

Siehe auch:

Technische Systemlandschaft