Betriebssystemtechnik - Cheatsheet.pdf

Betriebssystemtechnik - Cheatsheet
Betriebssystemtechnik - Cheatsheet Systemaufrufe und Betriebssystemschnittstellen Definition: Systemaufrufe (Syscalls) sind von Anwendungen genutzte Schnittstellen, um Betriebssystemdienste anzufordern. Details: Systemaufrufe: Brücke zwischen Benutzer- und Kernel-Modus, ermöglichen den Zugriff auf Betriebssystemdienste. Wichtige Syscalls: fork() : Prozess duplizieren exec() : Neues Programm ausfüh...

© StudySmarter 2024, all rights reserved.

Betriebssystemtechnik - Cheatsheet

Systemaufrufe und Betriebssystemschnittstellen

Definition:

Systemaufrufe (Syscalls) sind von Anwendungen genutzte Schnittstellen, um Betriebssystemdienste anzufordern.

Details:

  • Systemaufrufe: Brücke zwischen Benutzer- und Kernel-Modus, ermöglichen den Zugriff auf Betriebssystemdienste.
  • Wichtige Syscalls:
    • fork(): Prozess duplizieren
    • exec(): Neues Programm ausführen
    • wait(): Auf Kindprozess warten
    • read(), write(): Datei- und IO-Operationen
  • Nutzung: Durch die int 0x80 (x86) oder syscall (x86_64) Anweisung.
  • Error Codes: Rückgabewerte < 0 indizieren Fehler, Zugriff mit errno.
  • Betriebssystemschnittstellen: API für Anwendungen zur Interaktion mit dem Kernel, abstrahiert Hardwaredetails.

Prozessplanung und Scheduling-Algorithmen

Definition:

Prozessplanung bestimmt, welcher Prozess zu einer Zeit ausgeführt wird. Scheduling-Algorithmen sind Methoden zur Auswahl der nächsten zu laufenden Prozesse.

Details:

  • Ziele: Effizienz, Fairness, Reaktionszeit, Durchsatz
  • FCFS (First-Come-First-Served)
  • SJF (Shortest Job First)
  • Round Robin
  • Prioritätsbasiertes Scheduling
  • Mischung aus präemptiven und nicht-präemptiven Strategien
  • Wartezeit: \(WT_i = T_i - B_i\)
  • Durchschnittliche Wartezeit: \(\frac{\text{Summe aller Wartezeiten}}{\text{Anzahl an Prozessen}}\)
  • Durchlaufzeit: \(TAT_i = C_i - A_i\)
  • Durchschnittliche Durchlaufzeit: \(\frac{\text{Summe aller Durchlaufzeiten}}{\text{Anzahl an Prozessen}}\)

Prozess- und Thread-Synchronisation

Definition:

Koordination zwischen mehreren Prozessen oder Threads, um konsistente und konfliktfreie Zugriffe auf gemeinsame Ressourcen zu gewährleisten.

Details:

  • Vermeidung von Race Conditions durch Synchronisation primitives wie Mutex, Semaphore, Monitore
  • Mutex: Sperrmechanismus für exklusiven Zugriff
  • Semaphore: Signalisierungsmechanismus, zählt erlaubte Zugriffe
  • Monitore: Kombination aus Mutex und Bedingungsvariablen, höhere Abstraktion
  • Wichtige Konzepte: wechselseitiger Ausschluss, Deadlock, Verklemmung, Verhungern
  • Deadlock: Zyklische Wartebedingungen
  • Verhungern: Ein Prozess/Thread wartet ewig auf Ressourcenzugriff

Physischer und virtueller Speicher

Definition:

Physischer Speicher (RAM) und virtueller Speicher (Vergrößerung des Arbeitsspeichers durch Festplattenspeicher).

Details:

  • Physischer Speicher: Konkreter Hardware-Speicher
  • Virtueller Speicher: Simuliert mehr Speicher durch Paging und Swapping
  • Paging: Aufteilung in Seiten (\textit{pages})
  • Swapping: Auslagern von Seiten auf die Festplatte
  • Adressraum: Virtueller vs. Physischer Adressraum
  • Seitentabelle: Übersetzung von virtuellen zu physischen Adressen
  • \textit{TLB (Translation Lookaside Buffer)}: Cache für Seitentabelleneinträge
  • Seitenfehler (\textit{Page Fault}): Anforderung einer nicht im RAM befindlichen Seite

Paging und Segmentierung

Definition:

Paging und Segmentierung sind Speicherverwaltungsstrategien.

Details:

  • Paging:
  • Unterteilt Speicher in feste Blockgrößen (Pages).
  • Virtuelle Adresse: Seitennummer + Offset.
  • Seitenverwaltungstabelle (Page Table): Zuordnung von Seiten zu physischem Speicher.
  • Segmentierung:
  • Unterteilt Speicher in logische Segmente variabler Größe.
  • Virtuelle Adresse: Segmentnummer + Offset.
  • Segmenttabelle: Enthält Basisadresse und Länge jedes Segments.

Dateisystem-Layouts und -strukturen

Definition:

Organisation und Anordnung von Daten auf Speichermedien; Strukturierung für effiziente Datenverwaltung und -zugriff.

Details:

  • Block-basierte und loggestützte Dateisysteme
  • Inode-basierte Strukturen
  • Freispeicherverwaltung
  • Directory-Layouts
  • Dateiattribute und Metadaten
  • Journaling für Konsistenz

Ein-/Ausgabe-Steuerungsarchitektur

Definition:

Struktur zur Verwaltung von Ein- und Ausgabegeräten in einem Betriebssystem.

Details:

  • Ziel: Effiziente Kommunikation zwischen Prozessor und Peripheriegeräten
  • Nutzt Controller zur Vermittlung
  • Unterstützt Interrupt-gesteuerte, programmiert-gesteuerte und DMA-gesteuerte Datenübertragung
  • Treiber für spezifische Geräte notwendig
  • Beispiele: Tastatur, Maus, Drucker, Festplatten

Direkte Speicherzugriffe (DMA)

Definition:

DMA ermöglicht Geräte den direkten Zugriff auf den Hauptspeicher ohne CPU-Beteiligung.

Details:

  • Effizientere Datenübertragung zwischen Geräten und Speicher.
  • CPU wird entlastet.
  • Verwendet DMA-Controller.
  • Typische Nutzung: Daten von Festplatten, Netzwerkadaptern, etc.
  • DMA-Transfermodi: Burst-Modus, Zyklischer Modus.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden