Betriebssysteme und Betriebssystemtechnik - Cheatsheet.pdf

Betriebssysteme und Betriebssystemtechnik - Cheatsheet
Betriebssysteme und Betriebssystemtechnik - Cheatsheet Systemaufrufe und Benutzer-Kernel-Interaktion Definition: Systemaufrufe ermöglichen die Kommunikation zwischen Benutzerprogrammen und dem Betriebssystemkern. Details: Systemaufrufe (Syscalls) sind Schnittstellen, um Dienste des Betriebssystems in Anspruch zu nehmen und erfordern Wechsel in den Kernel-Modus. Beispiele: read() , write() , fork()...

© StudySmarter 2024, all rights reserved.

Betriebssysteme und Betriebssystemtechnik - Cheatsheet

Systemaufrufe und Benutzer-Kernel-Interaktion

Definition:

Systemaufrufe ermöglichen die Kommunikation zwischen Benutzerprogrammen und dem Betriebssystemkern.

Details:

  • Systemaufrufe (Syscalls) sind Schnittstellen, um Dienste des Betriebssystems in Anspruch zu nehmen und erfordern Wechsel in den Kernel-Modus.
  • Beispiele: read(), write(), fork(), exec()
  • Ablauf: Benutzerprozess → Syscall-Handler → Kernel → Rückgabe an Benutzerprozess
  • Wichtige Register: eax für Syscall-Nummer, ebx bis edi für Argumente
  • Übergang von Benutzermodus zu Kernelmodus mittels int- oder sysenter-Befehl

Scheduling-Algorithmen (z.B. FCFS, SJF, RR)

Definition:

Scheduling-Algorithmen in Betriebssystemen bestimmen die Reihenfolge, in der Prozesse zur Ausführung kommen.

Details:

  • FCFS (First-Come, First-Served): Prozesse werden in der Reihenfolge ihres Eintreffens abgearbeitet.
  • SJF (Shortest Job First): Der Prozess mit der kürzesten Ausführungszeit wird zuerst ausgeführt. Nicht-präemptiv.
  • RR (Round Robin): Jeder Prozess erhält für eine festgelegte Zeitspanne (Time Quantum) die CPU. Präemptiv, zirkuläres Verfahren.
  • Punktuelle Bewertung: Wartezeit, Durchlaufzeit, Fairness und CPU-Auslastung

Speicherallokationsmethoden (z.B. Paging, Segmentation)

Definition:

Methoden zur Verwaltung und Zuteilung von Speicher im Betriebssystem, um Prozesse effizient auszuführen.

Details:

  • Paging: Unterteilung des Speichers in gleich große Blöcke (Seiten); virtuelle Adressen in Seitenrahmen umgewandelt
  • Segmentation: Speicher in logische Segmente unterschiedlicher Größe unterteilt, die verschiedenen logischen Einheiten entsprechen
  • Virtuelle Adressierung: Trennung von logischen (virtuellen) und physischen Adressen
  • Seitenersetzung: Strategien wie FIFO, LRU zur Verwaltung von Seitenfehlern
  • Vorteile: Effiziente Speicherverwaltung, geringere Fragmentierung
  • Nachteile: Overhead durch Verwaltungstabellen, mögliche Leistungseinbußen

Virtueller Speicher und seine Implementierung

Definition:

Ermöglicht Programmen, mehr Speicher zu nutzen, als physisch verfügbar; erreicht durch Abstraktionsebene zwischen physischem Speicher und Anwendungsprozessen.

Details:

  • Trennung von logischen und physischen Adressen.
  • Seitentabellen zur Adressübersetzung.
  • Paging: Speicher in feste Größe (Seiten) unterteilt.
  • Swapping: Austausch von Speicherinhalten zwischen RAM und Festplatte.
  • Segmentation: logische Unterteilung des Speichers in Segmente.
  • TLB (Translation Lookaside Buffer) zur Beschleunigung der Adressübersetzung.
  • Virtuelle Adressen: von CPU generiert.
  • Physische Adressen: auf Hardware (RAM) bezogen.
  • Demand Paging: Seiten werden bei Bedarf geladen.
  • Page Replacement Algorithmen: FIFO, LRU, etc.

Deadlocks: Ursachen, Vermeidung und Auflösung

Definition:

Deadlock: Zustand, in dem zwei oder mehr Prozesse aufeinander warten und somit keiner der Prozesse fortfahren kann.

Details:

  • Ursachen: wechselseitiger Ausschluss, Hold and Wait, Kein Entzug, Zyklisches Warten
  • Klassische Bedingungen für Deadlocks (Coffman):
    • Mutual Exclusion (\textit{wechselseitiger Ausschluss})
    • Hold and Wait (\textit{Schwebezustand})
    • No Preemption (\textit{Kein Entzug})
    • Circular Wait (\textit{zyklisches Warten})
  • Vermeidung: Banker's Algorithmus, Sicherer Zustand, Ressourcenhierarchien
  • Auflösung: Deadlock-Erkennung mit Wait-For-Graph, Deadlock-Abbruch (Prozessabbruch, Ressourcenfreigabe)

Gerätetreiber und ihre Implementierung

Definition:

Gerätetreiber sind spezielle Software-Komponenten, die die Kommunikation zwischen dem Betriebssystem und den Hardware-Geräten ermöglichen. Ihre Implementierung erfordert Kenntnisse über die spezifische Hardware sowie das Betriebssystem.

Details:

  • Aufgabe: Vermittlung zwischen Hardware und Betriebssystem.
  • Typen: Kernel-Modus Treiber (arbeitet im Kernel) und Benutzer-Modus Treiber (arbeitet im Benutzerraum).
  • Aufbau: Initialisierung, Hauptfunktionalität, Bereinigung.
  • Standard-Schnittstellen: z.B. POSIX ioctl, read, write.
  • Synchronisation: Wichtig für Thread-Sicherheit, benutzt Mechanismen wie Mutexes und Semaphoren.
  • Fehlerbehandlung: Kritisch für Systemstabilität, setzt oft Logging und spezifische Rückgabewerte ein.

Sicherheit und Zugriffsrechte in Dateisystemen

Definition:

Schutz sensibler Daten durch kontrollierten Zugriff auf Dateisystem-Objekte.

Details:

  • Benutzer- und Gruppenberechtigungen: Zugriff für User (\texttt{u}), Gruppen (\texttt{g}), und Andere (\texttt{o}) definieren.
  • Rechte: Lesen (\texttt{r}), Schreiben (\texttt{w}), und Ausführen (\texttt{x}).
  • chmod: Befehl zur Änderung der Zugriffsrechte.
  • chown: Befehl zur Änderung des Besitzers.
  • ACLs: Fein-granulare Zugriffssteuerungen zusätzlich zu traditionellen Berechtigungen (posix1e ACLs, NFSv4 ACLs).
  • SElinux/AppArmor: Erweiterte Sicherheit durch Richtlinien, die benutzerdefiniertes Verhalten und Programme einschränken.

Multithreading und parallele Ausführung

Definition:

Verwendung von mehreren Threads innerhalb eines Prozesses zur gleichzeitigen Ausführung von Aufgaben.

Details:

  • Threads teilen sich den gleichen Adressraum
  • Parallelität: Gleichzeitige Ausführung auf multiplen CPU-Kernen
  • \texttt{pthread\textunderscore create()} und \texttt{pthread\textunderscore join()} für Thread-Erstellung und Synchronisation in C
  • Race Conditions: Datenkonflikte bei unsynchronisiertem Zugriff
  • \texttt{mutexes} und \texttt{semaphores} zur Synchronisation
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