Informatik Betriebssysteme – Systemaufrufe und Interrupts
Karteikarten zum Thema „Informatik“ · 14 Karten · von atrio. Beispiele: Was ist ein Systemaufruf (System Call)? · Welcher Mechanismus wechselt bei einem Syst…
Karten
14 KartenWas ist ein Systemaufruf (System Call)?
Rückseite
Ein Systemaufruf ist die kontrollierte Schnittstelle, über die ein User-Prozess Kernel-Dienste wie Dateizugriff oder Prozesssteuerung anfordert.
Welcher Mechanismus wechselt bei einem Systemaufruf von User- in Kernel-Mode?
Rückseite
Eine spezielle CPU-Instruktion (z. B. syscall, int 0x80, SVC) löst einen Trap aus, der den Privilegienmodus wechselt.
Was unterscheidet einen Systemaufruf von einem normalen Funktionsaufruf?
Rückseite
Ein Funktionsaufruf bleibt im gleichen Adressraum und Modus, ein Systemaufruf wechselt in Kernel-Mode und nutzt separate Kernel-Stacks.
Nenne drei typische Kategorien von Systemaufrufen.
Rückseite
Wichtige Kategorien: Prozesssteuerung (fork, exec), Dateimanagement (open, read), Geräteverwaltung (ioctl), Informationserhaltung (getpid), Interprozesskommunikation (pipe, socket).
Was ist ein Interrupt?
Rückseite
Ein Interrupt ist ein asynchrones Signal an die CPU, das die aktuelle Ausführung unterbricht und einen Handler aufruft.
Unterscheide Hardware-Interrupt und Software-Interrupt (Exception).
Rückseite
Hardware-Interrupts stammen von Peripherie (Timer, Netzwerk), Software-Interrupts (Exceptions) entstehen durch CPU-interne Fehler oder explizite Instruktionen wie syscall.
Was ist ein Interrupt-Vektor und wo liegt die Interrupt-Vektor-Tabelle?
Rückseite
Der Interrupt-Vektor ist ein Index in der Interrupt-Vektor-Tabelle (IDT), die die Adressen der zugehörigen Handler-Routinen speichert.
Was passiert beim Kontextwechsel während eines Interrupts?
Rückseite
Die CPU sichert Register (PC, Flags, Stackpointer) auf dem Kernel-Stack, lädt die Handler-Adresse und wechselt in Kernel-Mode.
Was ist ein Interrupt-Handler (ISR) und wie unterscheidet er sich von normalem Code?
Rückseite
Ein Interrupt-Handler (ISR) läuft mit deaktivierten Interrupts, nutzt den Kernel-Stack, darf nicht blockieren und muss schnell zurückkehren.
Wie priorisiert die CPU mehrere gleichzeitige Interrupts?
Rückseite
Der Interrupt-Controller (APIC/PIC) verwaltet Prioritätslevels; Interrupts höherer Priorität können niedrigere unterbrechen (Nested Interrupts).
Was ist der Unterschied zwischen maskierbaren und nicht-maskierbaren Interrupts (NMI)?
Rückseite
Nicht-maskierbare Interrupts (NMI, z. B. Hardware-Fehler) ignorieren das Interrupt-Flag, maskierbare IRQs können durch die CPU gesperrt werden.
Wie kommuniziert ein Gerätetreiber mit Hardware über Interrupts?
Rückseite
Der Treiber registriert einen Handler, konfiguriert das Gerät, dieses signalisiert Fertigstellung per Interrupt, der Handler verarbeitet Daten und quittiert (ACK).
Was ist ein Trap und wie steht er zu Systemaufrufen?
Rückseite
Ein Trap ist ein synchroner Software-Interrupt, ausgelöst durch eine Instruktion (syscall, Breakpoint) oder einen Fehler (Division durch Null).
Warum müssen Systemaufrufe atomar ausgeführt werden?
Rückseite
Atomare Ausführung schützt Kernel-Datenstrukturen vor Race Conditions; eine Unterbrechung würde inkonsistente Zustände hinterlassen.