System Calls
System Calls
Auf einen Blick
Ein System Call (SC) ist die Schnittstelle zu den Diensten des OS — die „Sprache" des Betriebssystems. Er ist ein Spezialfall einer Unterbrechung, der aber Argumente mitführt. Durch einen SC geht das System in den Kernel-Modus über.
Was ist ein System Call?
- Er ist das Interface zu den OS-Diensten.
- Im Unterschied zu reinen Hardware-Interrupts werden Argumente mitgegeben, die den SC und seine Parameter identifizieren, z.B.:
int open(const char *pathname, int flags);
- Durch den Aufruf geht das System in den Kernel-Modus über.
Ablauf (Unix)
Klicke dich durch die einzelnen Schritte vom User- in den Kernel-Modus und zurück:
Kommunikation in beide Richtungen
Der Normalfall geht vom Prozess aus: Der Prozess ruft einen SC auf, das OS gibt Daten zurück. Manchmal ist die andere Richtung nötig:
- Unix-Weg: Das OS informiert Prozesse über Signale (z.B.
SIGKILL,SIGSEGV). - Windows: Das OS kann selbst Code des Prozesses ausführen (Callbacks).
Die Standardbibliothek (z.B. die C-Library) verpackt SCs in bequeme Funktionen — printf() ruft intern den SC write() auf.
Verwandte Notes
Kernel- und User-Modus · Interrupts & Exceptions · Operationen auf Prozessen · Was ist ein Betriebssystem
⬅️ Interrupts & Exceptions · Architektur von Linux & Windows ➡️