Betriebssysteme (Vorlesung mit Übungen) - Cheatsheet.pdf

Betriebssysteme (Vorlesung mit Übungen) - Cheatsheet
Betriebssysteme (Vorlesung mit Übungen) - Cheatsheet Unterschied zwischen Prozessen und Threads Definition: Prozesse und Threads sind Ausführungseinheiten, aber mit unterschiedlichen Ressourcen und Ausführungsumgebungen. Details: Prozess: Schwergewichtige Ausführungseinheit, eigene Adressräume, interprozessale Kommunikation notwendig. Thread: Leichtgewichtige Ausführungseinheit, gemeinsamer Adress...

© StudySmarter 2024, all rights reserved.

Betriebssysteme (Vorlesung mit Übungen) - Cheatsheet

Unterschied zwischen Prozessen und Threads

Definition:

Prozesse und Threads sind Ausführungseinheiten, aber mit unterschiedlichen Ressourcen und Ausführungsumgebungen.

Details:

  • Prozess: Schwergewichtige Ausführungseinheit, eigene Adressräume, interprozessale Kommunikation notwendig.
  • Thread: Leichtgewichtige Ausführungseinheit, gemeinsamer Adressraum innerhalb eines Prozesses, einfachere und schnellere Kommunikation und Kontextwechsel.
  • Prozesse haben unabhängige Resourcen (eigener Speicher, eigene Register).
  • Threads teilen Resourcen eines Prozesses, reduzieren Overhead.
  • Multithreading: Höhere Effizienz, parallele Ausführung innerhalb eines Prozesses, besser für komplizierte Anwendungen wie Webserver.
  • Multitasking: Gleichzeitige Ausführung mehrerer Prozesse, bessere Nutzung der CPU durch Kontextwechsel.

Prozessscheduling-Algorithmen

Definition:

Zuteilung von CPU-Zeit an Prozesse. Ziel: Maximierung der Effizienz und Fairness der Prozessausführung.

Details:

  • FCFS: First Come, First Served. Einfache Implementierung, aber lange Wartezeiten möglich.
  • SJF: Shortest Job First. Minimalisiert die durchschnittliche Wartezeit, aber schwer vorhersagbar.
  • RR: Round Robin. Jeder Prozess erhält eine feste Zeitspanne (Zeitscheibe).
  • Prioritätsbasiert: Zuteilung basierend auf Prozesspriorität. Hohe Priorität erhält mehr CPU-Zeit.
  • Multilevel Queue: Kombination mehrerer Algorithmen durch Aufteilung in verschiedene Warteschlangen.
  • Multilevel Feedback Queue: Prozess kann in eine andere Warteschlange wechseln, dynamische Anpassung der Priorität.

Physische und virtuelle Speicherverwaltung

Definition:

Verwaltung von physischem und virtuellem Speicher durch das Betriebssystem. Virtueller Speicher abstrahiert physische Hardware und ermöglicht eine bessere Speicherverwaltung und Schutzmechanismen.

Details:

  • Physischer Speicher: Tatsächlich vorhandener RAM.
  • Virtueller Speicher: Abstraktionsschicht, die es ermöglicht, mehr Speicher zu adressieren als physisch vorhanden ist; verwendet Paging und/oder Segmentierung.
  • Paging: Unterteilung des virtuellen Speichers in gleich große Blöcke, sogenannte Seiten (\textit{Pages}).
  • Page Tables: Datenstruktur zur Verwaltung von Seiten und deren Entsprechung im physischen Speicher.
  • Page Fault: Tritt auf, wenn eine angeforderte Seite nicht im physischen Speicher ist. Betriebssystem muss diese Seite laden.
  • Segmentierung: Alternative zu Paging. Aufteilung des Speichers in unterschiedlich große Segmente.
  • Virtuelle Adressen: Adressen, wie sie vom Programm gesehen werden.
  • Physische Adressen: Tatsächliche Speicheradressen im RAM.
  • Translation Lookaside Buffer (TLB): Cache-Speicher für schnelle Übersetzung von virtuellen zu physischen Adressen.

Paging und Segmentation

Definition:

Speicherverwaltungstechniken zur effizienten Nutzung von Hauptspeicher und zum Schutz von Speicherbereichen.

Details:

  • Paging: Teilt Speicher in gleich große Blöcke (Seiten, Frames).
  • Segmentation: Teilt Speicher in logische Einheiten (Segmente).
  • Paging-Tabelle: Übersetzt Seitenzahl zu Frame-Nummer.
  • Segmenttabelle: Enthält Basisadresse und Länge der Segmente.
  • Formeln:
    • Physikalische Adresse bei Paging: \[\text{PhysAddr} = \text{FrameNum} \times \text{FrameSize} + \text{Offset}\]
    • Physikalische Adresse bei Segmentierung: \[\text{PhysAddr} = \text{BaseAddr} + \text{Offset}\]
  • Kombination: Paged-Segmented Memory Management.
  • Anwendungen: Schutzmechanismen, effizientere Speicherzugriffe.

Speicherzuweisungsmethoden für Dateien

Definition:

Methoden zur Organisation und Verwaltung von Speicherplatz für Dateien auf Datenträgern; wichtig für Effizienz und Zugriffszeit.

Details:

  • Kontinuierliche Speicherzuweisung: Dateien werden in einem zusammenhängenden Block gespeichert.
  • Verkettete Speicherzuweisung: Dateien bestehen aus Blöcken, die durch Zeiger miteinander verbunden sind; sequentieller Zugriff effizient, zufälliger Zugriff weniger.
  • Indirekte Speicherzuweisung: Zeiger auf Zeiger (mehrere Ebenen); besser für große Dateien.
  • FAT (File Allocation Table): Tabelle mit Einträgen, die den Speicherort und die Folgeblöcke jeder Datei enthalten.
  • Indexierte Speicherzuweisung: Verwenden Indexblöcke, die Zeiger auf Datenblöcke enthalten; effizient für große Dateien und wahlfreien Zugriff.

Gerätetreiber und Geräteschnittstellen

Definition:

Gerätetreiber sind Softwarekomponenten, die eine Kommunikationsschnittstelle zwischen Betriebssystem und Hardwaregeräten bereitstellen.

Details:

  • Geräteschnittstellen: definieren, wie das OS mit Hardware interagiert
  • Arten von Treibern: Gerätetreiber für Blockgeräte (z. B. Festplatten), Zeichengeräte (z. B. Tastaturen) und Netzwerkgeräte (z. B. Netzwerkkarten)
  • Wichtige Funktionen: Initialisierung, Steuerung und Betrieb von Geräten
  • Treiberarchitektur: monolithische Treiber vs. modulare Treiber
  • API und ABI: Application Programming Interface und Application Binary Interface
  • Wichtige Konzepte: Interrupts, DMA (Direct Memory Access), PIO (Programmed Input/Output)
  • Beispiele: Unix/Linux-Gerätetreiber (char, block, net), Windows-Treibermodelle (WDM, KMDF)

Authentifizierungs- und Autorisierungsmethoden

Definition:

Überprüfung der Identität (Authentifizierung) und Zuweisung von Rechten (Autorisierung)

Details:

  • Authentifizierung: Überprüfung der Identität des Benutzers
  • Methoden: Passwörter, Biometrie, Tokens, Zwei-Faktor-Authentifizierung
  • Autorisierung: Zuweisung und Überprüfung der Zugriffsrechte
  • Zugriffssteuerungsmodelle: DAC (Discretionary Access Control), MAC (Mandatory Access Control), RBAC (Role-Based Access Control)
  • Prinzip der minimalen Rechte: Benutzer erhalten nur die für ihre Aufgaben notwendigen Rechte
  • Implementierung in Betriebssystemen: Benutzer und Gruppenverwaltung, ACLs (Access Control Lists)

Virtuelle Maschinen und Hypervisoren

Definition:

Virtuelle Maschinen (VMs) sind simulierte Rechnerumgebungen, die auf einem physikalischen Host laufen und durch Hypervisoren verwaltet werden.

Details:

  • Hypervisor: Software zur Verwaltung von VMs, Typ 1 (bare-metal) und Typ 2 (hosted)
  • VMs erlauben Ausführung mehrerer Betriebssysteme auf einer physischen Hardware
  • Isolation der VMs sowohl auf Hardware- als auch auf Softwareebene
  • Ressourcenverteilung durch den Hypervisor, z.B. CPU, RAM, Netzwerke
  • Wichtige Hypervisoren: VMware ESXi, Microsoft Hyper-V, KVM
  • Anwendungsfälle: Serverkonsolidierung, Tests, Sicherheit, Cloud-Computing
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