Begriff
Betriebssystem (OS)
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Das Betriebssystem (OS) ist der Manager deines Computers. Hardware (Maus, Bildschirm, Prozessor) ist dumm. Software (Word, Spiele) ist anspruchsvoll. Das OS vermittelt zwischen den beiden. Es sagt:
- "Word darf jetzt drucken."
- "Chrome bekommt 2 GB Speicher."
- "Das WLAN-Passwort ist 1234."
Ohne OS wäre dein PC nur ein Haufen Metall. Bekannte Beispiele sind Windows, macOS, Linux, Android und iOS.
Merksatz: Die Haupt-Software, die die Hardware verwaltet und anderen Programmen eine Basis bietet.
Für den normalen Nutzer ist das OS der Computer. Du interagierst fast nur über die GUI (Grafische Oberfläche) des OS:
- Dateimanager (Explorer/Finder) zum Ordnen von Dateien.
- Taskleiste/Dock zum Starten von Apps.
- Einstellungen für Helligkeit, Netzwerk und Updates.
Wichtig: Programme laufen meist nur auf einem OS.
Eine .exe (Windows) läuft nicht auf dem Mac. Eine Android-App läuft nicht auf dem iPhone. (Außer mit Tricks wie Emulatoren).
1. Kernel (Der Kern)
Der Kernel ist der innerste Teil des OS. Er hat als einziger volle Kontrolle über die CPU und den Speicher. Wenn ein Programm abstürzt ("Game Over"), läuft der Kernel weiter. Wenn der Kernel abstürzt, siehst du einen Blue Screen (Windows) oder eine "Kernel Panic" (macOS/Linux). Alles friert ein.
2. Treiber (Drivers)
Woher weiß Windows, wie man mit einer uralten Webcam spricht? Durch Treiber. Das sind kleine Dolmetscher-Programme, die dem generischen Kernel erklären, wie genau diese spezielle Hardware funktioniert.
3. Rechteverwaltung (User Mode vs. Kernel Mode)
Zur Sicherheit laufen normale Programme (User Mode) isoliert. Sie dürfen nicht direkt auf den Speicher von anderen Programmen zugreifen. Wenn Chrome versucht, in den Speicher von Word zu schreiben, schreitet das OS ein und killt Chrome ("Access Violation").
1. Context Switching & Schedulung
Eine CPU hat nur wenige Kerne, aber hunderte Prozesse laufen "gleichzeitig". Das OS erreicht diese Illusion durch den Scheduler. Er teilt die Zeit der CPU in winzige Scheiben (Time Slices). Wenn die Zeit eines Prozesses (z.B. Spotify) abläuft, gibt es einen Interrupt. Das OS speichert den kompletten aktuellen Zustand (Register, Stack-Pointer) in den RAM, lädt den Zustand des nächsten Prozesses (z.B. Chrome) und lässt die CPU weiterrechnen. Dieser Vorgang heißt Context Switch. Er ist sehr rechenintensiv. Je mehr Programme laufen, desto mehr Zeit verschwendet das System allein mit dem Wechseln.
2. Memory Paging vs. Swapping (Virtual Memory)
Wenn der physische Arbeitsspeicher voll ist, stürzt das System nicht ab. Das Betriebssystem nutzt Paging. Es lagert Speicherbereiche (Pages, oft 4 KB groß), die gerade nicht aktiv gebraucht werden, auf die extrem langsame Festplatte (SSD (Solid State Drive) oder HDD) aus. Diesen Bereich nennt man Swap-File oder Pagefile. Sobald das Programm die Daten wieder braucht, gibt es einen "Page Fault", und das OS tauscht die Seiten wieder auf die Festplatte zurück. Passiert das permanent, spricht man von "Thrashing", und der PC wird unerträglich langsam.
3. POSIX-Standard vs. Windows API
Wie spricht ein Programm mit dem Kernel, um z.B. eine Datei zu lesen?
Unter Linux/macOS nutzen Programme System Calls (Syscalls), die fast alle nach dem POSIX-Standard definiert sind (z.B. open(), read(), write()).
Windows verwendet eine komplett andere Architektur: die Win32/NT API. Ein CreateFile() unter Windows entspricht einem open() unter POSIX. Das ist der tiefere Grund, warum man Windows-Spiele nicht nativ auf Linux spielen kann, es sei denn, eine Übersetzungsschicht wie Proton (Wine) fängt diese Syscalls ab und konvertiert sie in Echtzeit.
Quick-Check
Warum laufen iPhone-Apps nicht auf Android?
Weil beide Betriebssysteme (iOS vs. Android) eine völlig unterschiedliche "Sprache" und Struktur haben. Die App findet nicht die Bausteine, die sie erwartet.Was ist der Unterschied zwischen Kernel und GUI?
Der Kernel ist der unsichtbare Motor, der die Technik steuert. Die GUI ist das hübsche Lenkrad, das der Benutzer bedient.Warum braucht man Treiber?
Damit das Betriebssystem auch Hardware verstehen kann, die es beim Bau des OS noch gar nicht gab (z. B. ein ganz neuer Drucker).