Grundlagen: Betriebssysteme und Systemsoftware - Cheatsheet.pdf

Grundlagen: Betriebssysteme und Systemsoftware - Cheatsheet
Monolithische Architekturen Definition: Architekturstil bei dem ein System als eine einzige, untrennbare Einheit implementiert wird. Details: Alle Komponenten (UI, Geschäftslogik, Datenzugriff) in einem einzigen Codebase. Häufig schwer skalierbar und wartbar. Gegensatz zu Microservices. Hohe Abhängigkeiten zwischen Modulen. Prozesslebenszyklus Definition: Lebenszyklus eines Prozesses von seiner Er...

© StudySmarter 2024, all rights reserved.

Monolithische Architekturen

Definition:

Architekturstil bei dem ein System als eine einzige, untrennbare Einheit implementiert wird.

Details:

  • Alle Komponenten (UI, Geschäftslogik, Datenzugriff) in einem einzigen Codebase.
  • Häufig schwer skalierbar und wartbar.
  • Gegensatz zu Microservices.
  • Hohe Abhängigkeiten zwischen Modulen.

Prozesslebenszyklus

Definition:

Lebenszyklus eines Prozesses von seiner Erzeugung bis zur Terminierung.

Details:

  • Zustände: erstellt, bereit, laufend, wartend, abgeschlossen
  • Prozesswechsel durch Kontextwechsel
  • Erstellung: \texttt{fork()}, \texttt{exec()}
  • Terminierung: \texttt{exit()}, \texttt{abort()}
  • Wechsel zu bereit: Ressourcen verfügbar
  • Wechsel zu laufend: CPU zugeteilt
  • Wechsel zu wartend: Ressourcen warten

Paging und Segmentierung

Definition:

Techniken zur Speicherverwaltung in Betriebssystemen zur effizienten Nutzung des Hauptspeichers.

Details:

  • Paging: Zerlegung des Speicherraums in feste Seiten (Pages) und Zuweisung von Seitenrahmen (Page Frames) im physischen Speicher
  • Segmentation: Zerlegung des logischen Adressraums in variable Segmente mit logischen Einheiten (z.B. Code, Daten, Stack)
  • Virtuelle Adressen umgerechnet in physische Adressen mittels Seitentabelle (Page Table) und Segmenttabelle (Segment Table)
  • Formeln:
    • Virtuelle Adresse in Paging: Virtuelle Adresse = Page-Nummer + Offset Physische Adresse = Frame-Nummer + Offset
    • Virtuelle Adresse in Segmentierung: Virtuelle Adresse = Segment-Nummer + Offset Physische Adresse = Basisadresse + Offset
  • VorteilePaging: einheitliche Blockgröße, einfache Speicherverwaltung, keine externe Fragmentierung
  • Vorteile Segmentierung: logische Strukturierung, flexible Speicherverwaltung, Schutzmechanismen

Journaling Dateisysteme

Definition:

Journaling-Dateisystem: Spezialisiertes Dateisystem zur Erhöhung der Konsistenz und Integrität durch Protokollierung von Änderungen in einem separaten Log (Journal).

Details:

  • Schützt vor Datenverlust bei Systemausfällen.
  • Änderungen in 2 Phasen: Log schreiben, dann eigentliche Daten schreiben.
  • Verbessert Recovery-Prozesse (schneller Systemstart nach Absturz).
  • Häufige Journalling-Dateisysteme: ext3, ext4, NTFS, ReiserFS.
  • Journaling-Typen: Writeback, Ordered, Data.
  • Nachteil: Zusätzlicher Overhead durch Journaling-Prozess.

Synchronisationstechniken

Definition:

Techniken zur Gewährleistung von Konsistenz und Ordnung in der Kommunikation und beim Zugriff auf gemeinsame Ressourcen in parallelen oder verteilten Systemen.

Details:

  • Mutexe: Zustandsvariable zur Kontrolle des Zugriffs auf eine Ressource.
  • Semaphore: Zählmechanismus zur Steuerung des Zugriffs auf mehrere Instanzen einer Ressource.
  • Monitore: Höherstufige Synchronisationskonstrukte, die Mutexe und Konditionsvariablen vereinen.
  • Spinlocks: Aktive Warteschleifen zur Ressourcenkontrolle.
  • Bedingungsvariablen: Warten und Benachrichtigen von Threads in Monitorkonstrukten.
  • Deadlock: Zustand, in dem sich zwei oder mehr Threads gegenseitig blockieren.

Benutzer- und Rechteverwaltung

Definition:

Verwaltung von Benutzerkonten und deren Berechtigungen im Betriebssystem.

Details:

  • Benutzer: Identifizierte Entitäten im System.
  • Rechte: Privilegien, die einem Benutzer zugewiesen werden.
  • Zugriffssteuerung: Mechanismen zur Kontrolle, wer auf welche Ressourcen zugreifen darf.
  • Sicherheitsrichtlinien: Festlegung der Zugriffsrechte und -beschränkungen.
  • Dateisystemberechtigungen: Unix-/Linux- (chmod, chown) und Windows-Berechtigungsmodelle.
  • Gruppen: Zusammenfassung von Benutzern zur gemeinsamen Rechteverwaltung.
  • Authentifizierung: Prozesse zur Überprüfung der Benutzeridentität (z.B. Passwörter, biometrische Verfahren).

Kontextwechsel

Definition:

Interruption des aktuellen Threads, Speichern seines Zustandes, Laden des Zustandes eines anderen Threads.

Details:

  • Prozess: Von Scheduler initiiert
  • CPU-Register, Programmzähler, Stack-Zeiger müssen gespeichert und wiederhergestellt werden
  • Speicherverwaltung: Kontextwechsel kann TLB und Cache ändern
  • Zeitaufwand: Abhängig von Hardware und Betriebsystemoptimierung

Virtueller Speicher

Definition:

Methode zur Verwaltung des Arbeitsspeichers, indem physischer Speicher durch Zuordnung zu virtuellen Adressen effizient genutzt wird.

Details:

  • Trennung von logischem und physischem Speicher
  • Verwendet Seiten (Pages) und Seitenrahmen (Page Frames)
  • Adressübersetzung über Seitentabellen (\texttt{Page Tables})
  • Speicherverwaltungseinheit (Memory Management Unit, \texttt{MMU}) führt die Adressübersetzung durch
  • Erhöht die Speicherverwaltungseffizienz und Prozessisolierung
  • Belastungssteuerung (\texttt{Paging}) und Zuordnung von virtuell zu physischem Speicher
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