Was ein OS leistet
Das Betriebssystem vermittelt zwischen Hardware und Anwendungen.
- Abstraktion: Programme müssen die Hardware nicht kennen
- Ressourcenverwaltung: CPU, RAM, Datenträger, Geräte
- Schutz & Isolation zwischen Prozessen und Nutzern
Kernel vs. Userspace
Der Kernel läuft privilegiert (Ring 0), Anwendungen laufen isoliert im Userspace (Ring 3).
- Übergang über System Calls (kontrollierte Schnittstelle)
- Absturz einer App reißt nicht das System mit
- Treiber laufen meist im Kernel – daher kritisch für Stabilität
Kernel-Typen
Monolithisch
Alles im Kernel (Linux). Schnell, aber Treiberfehler treffen den Kern.
Mikrokernel
Nur das Nötigste im Kern, Dienste im Userspace. Robust, mehr Overhead.
- Hybrid: Mischform (Windows NT, macOS/XNU)
- Trade-off zwischen Geschwindigkeit und Isolation
Prozesse & Threads
Prozess
Eigener Speicherraum, isoliert. Eigene Ressourcen.
Thread
Läuft innerhalb eines Prozesses, teilt sich dessen Speicher.
- Mehrere Threads ermöglichen Parallelität
- Kontextwechsel kostet CPU-Zeit
Scheduling
Der Scheduler verteilt CPU-Zeit auf die lauffähigen Prozesse.
Bei einer CPU läuft nie wirklich alles gleichzeitig – der Scheduler wechselt nur sehr schnell.
- Zeitscheiben (Time Slices) und Prioritäten
- Preemptives Multitasking: OS kann Prozesse unterbrechen
- Ziel: Fairness + Reaktionsfähigkeit
Speicherverwaltung
Jeder Prozess sieht seinen eigenen virtuellen Adressraum.
- Virtueller Speicher entkoppelt Programm von physischem RAM
- Paging: Speicher in Seiten (Pages) verwaltet
- Auslagern auf Datenträger: Swap (Linux) / Auslagerungsdatei (Windows)
Dateisysteme
Windows
NTFS (Rechte, Journaling), ReFS für große Volumes.
Linux / macOS
ext4, XFS, Btrfs (Linux) · APFS (macOS).
- Journaling schützt vor Inkonsistenzen bei Abstürzen
- Berechtigungen sind Teil des Dateisystems
Der Bootvorgang
Firmware → Bootloader → Kernel → Init-System – diese Kette solltest du kennen.
- UEFI/BIOS startet den Bootloader
- Der Bootloader lädt den Kernel
- systemd bzw. Init startet die Dienste
Das Wichtigste
Kernel verwaltet Hardware und schützt Prozesse; Scheduling und virtueller Speicher schaffen die Illusion von Gleichzeitigkeit und unbegrenztem RAM.
- Kernel privilegiert, Apps isoliert
- Prozess = Isolation, Thread = Parallelität
- Virtueller Speicher + Paging als Fundament