Betriebssystemtechnik (V+EÜ) - Cheatsheet
Prozess-Scheduling-Algorithmen
Definition:
Prozess-Scheduling-Algorithmen: Regeln und Methoden, nach denen ein Betriebssystem CPU-Zeit Prozessen zuweist.
Details:
- First-Come, First-Served (FCFS): Prozesse werden in der Reihenfolge ihrer Ankunft abgearbeitet.
- Shortest Job Next (SJN): Prozesse mit kürzester Ausführungszeit werden bevorzugt.
- Round Robin (RR): Prozesse erhalten zyklisch CPU-Zeit (Zeitscheibenverfahren).
- Priority Scheduling: Prozesse mit höherer Priorität werden bevorzugt behandelt.
- Multilevel Queue Scheduling: Prozesse werden in verschiedene Warteschlangen basierend auf Prioritäten oder Prozessarten aufgeteilt.
- Multilevel Feedback Queue: Kombination aus Multilevel Queue und dynamischer Prioritätsanpassung.
- Zeitscheiben (\textit{time quantum}): Dauer einer Prozessorzuteilung in RR und verwandten Algorithmen.
Interprozesskommunikation (IPC)
Definition:
Mechanismen zur Datenübertragung und Synchronisation zwischen Prozessen im Betriebssystem.
Details:
- Methoden: Speicherbasierte (Shared Memory), Nachrichtenbasierte (Message Passing).
- Shared Memory: Prozesse teilen sich einen Speicherbereich; benötigt Synchronisation wie Semaphoren/Mutex.
- Message Passing: Prozesse kommunizieren über Nachrichten; verwendet Primitive wie Sockets, Pipes, Message Queues.
- Sicherheit und Zugriffskontrolle: Notwendig zur Vermeidung von Konkurrenzbedingungen und Deadlocks.
- Beispiele: Unix-Pipes, POSIX-Shared Memory, Windows Named Pipes.
Deadlocks und deren Vermeidung
Definition:
Deadlock: Zustand, bei dem mehrere Prozesse auf Ressourcen warten, die von anderen Prozessen gehalten werden, wodurch keiner der Prozesse fortfahren kann.
Details:
- Vier notwendige Bedingungen für Deadlocks: Mutual Exclusion, Hold and Wait, No Preemption, Circular Wait
- Strategien zur Deadlock-Vermeidung: Vermeidung, Verhinderung, Erkennung und Behandlung
- Vermeidungsalgorithmen: Banker's Algorithm
- Verhinderungsmethoden: Ressourcenhierarchie einhalten, keine Ressource mehrfach anfordern
- Erkennung: Ressourcen-Allokationsgraph analysieren
- Behandlung: Prozesse forcieren, Ressourcen freigeben, System neu starten
Partitionierung und Paging
Definition:
Techniken zur Verwaltung des Speicherplatzes.
Details:
- Partitionierung: Aufteilung des Speicherbereiches in feste oder variable Partitionen.
- Paging: Teilung des Speicherbereiches in gleich große Seiten (Pages).
- Partitionierung: Erlaubt feste Zuordnung von Speichersegmenten -> einfache Implementierung, aber unflexibel und kann zu Fragmentierung führen.
- Paging: Nutzt Seitentabellen (\textit{Page Tables}) zur Verwaltung -> höhere Flexibilität und effizienter Umgang mit Fragmentierung.
- \textbf{Formeln:}
- Seitenadresse = \textit{page number} + \textit{offset}
- \textit{Effektive Adresse} = \textit{Basisadresse} + \textit{Offset}
Virtueller Speicher
Definition:
Virtueller Speicher ist eine Speicherverwaltungstechnik, bei der der physische Speicher und der Adressraum eines Prozesses voneinander abstrahiert werden.
Details:
- Ermöglicht größeren Adressraum als physischer Speicher.
- Verwendet Seiten (Pages) zur Speicherverwaltung.
- Seitenersetzungsstrategien: FIFO, LRU, etc.
- Seitentabellen zur Übersetzung von virtuellen zu physischen Adressen.
- Adresslayout: Logisch -> Virtuell -> Physisch.
- Verhindert Fragmentierung durch logisch zusammenhängende Adressräume.
- Anwendungsbeispiel: Swapping bei ungenügendem physischem Speicher.
Dateisystemarchitekturen (z.B. FAT, NTFS)
Definition:
Dateisystemarchitekturen definieren die Art und Weise, wie Dateien auf einem Datenträger organisiert und verwaltet werden.
Details:
- FAT (File Allocation Table): Einfaches Dateisystem, unterstützt von nahezu allen Betriebssystemen. Variationen: FAT12, FAT16, FAT32.
- NTFS (New Technology File System): Erweitertes Dateisystem von Microsoft, unterstützt große Dateien, Sicherheitsfunktionen und Datei-Streams.
- ext (Extended File System): Standard-Dateisystem für Linux, Variationen: ext2, ext3, ext4.
Authentifizierung und Autorisierung
Definition:
Authentifizierung: Überprüfen der Identität; Autorisierung: Berechtigungsvergabe.
Details:
- Authentifizierung: Nutzung von Passwörtern, Tokens, biometrischen Daten
- Autorisierung: Kontrolle von Zugriffsrechten nach erfolgreicher Authentifizierung
- Mechanismen: ACLs (Access Control Lists), RBAC (Role-Based Access Control)
- Sicherheit: Schützen von Ressourcen durch geeignete Maßnahmen
- Formeln: Hash-Funktionen zur sicheren Passwortspeicherung, z.B.
H(p)
für Passwort p
Protokollstapel (OSI und TCP/IP)
Definition:
Protokollstapel sind Schichtenmodelle, die zur Strukturierung von Netzwerkprotokollen verwendet werden. OSI-Modell hat 7 Schichten, TCP/IP-Modell hat 4 Schichten.
Details:
- OSI-Modell: Anwendungsschicht, Darstellungsschicht, Sitzungsschicht, Transportschicht, Netzwerkschicht, Sicherungsschicht, Bitübertragungsschicht
- TCP/IP-Modell: Anwendungsschicht, Transportschicht, Internetschicht, Netzzugangsschicht
- Schichten in Protokollstapeln abstrahieren und kapseln Netzwerkfunktionen