1 GrundlagenSystem 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:

systemcall-ablauf.html

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

← Kapitelübersicht


⬅️ Interrupts & Exceptions · Architektur von Linux & Windows ➡️

Built with LogoFlowershow