Betriebssystem
Grundlegendes Konzept zur Verwaltung von Hardware, Prozessen und Systemressourcen sowie zur Bereitstellung einer Abstraktionsschicht für Anwendungen.
Klassifikation
- KomplexitätHoch
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeReif
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Sicherheitslücken im Kernel können Systemweit ausgenutzt werden
- Fehlerhafte Scheduling-Politiken führen zu Performance-Einbrüchen
- Komplexe Upgrades können Verfügbarkeit beeinträchtigen
- Minimaler Kernel- und Paketumfang für reduzierte Angriffsfläche
- Automatisierte Konfiguration und Reproduzierbarkeit (IaC)
- Regelmäßige Sicherheits- und Performance-Tests
I/O & Ressourcen
- Hardwareplattform oder Virtualisierungsumgebung
- Anwendungsanforderungen und Workloads
- Sicherheits- und Compliance-Vorgaben
- Bereitstellung einer stabilen Laufzeitumgebung
- Schnittstellen für Anwendungsentwicklung
- Betriebsmetriken und Logs
Beschreibung
Ein Betriebssystem ist die grundlegende Systemsoftware, die Hardware-Ressourcen verwaltet, Prozesse steuert und eine Abstraktionsschicht für Anwendungssoftware bereitstellt. Es koordiniert Speicherverwaltung, Dateisysteme, Gerätesteuerung und Benutzerrechte. Betriebssysteme sind zentral für Performance, Sicherheit und Zuverlässigkeit von IT-Systemen. Ihre Architektur und Schnittstellen beeinflussen Anwendungsdesign sowie Betrieb und Wartung.
✔Vorteile
- Effiziente Ressourcenverwaltung und -zuweisung
- Isolierung und Schutz von Prozessen
- Bereitstellung standardisierter APIs und Laufzeitumgebungen
✖Limitationen
- Komplexität bei Anpassung für Spezialhardware
- Treiber- und Kompatibilitätsabhängigkeiten
- Ressourcen-Overhead auf eingeschränkten Geräten
Trade-offs
Metriken
- CPU-Auslastung
Messung der durchschnittlichen und maximalen CPU-Nutzung von Prozessen und Systemdiensten.
- Speicherauslastung und Paging
Beobachtung von belegtem Arbeitsspeicher, Swap-Nutzung und Paging-Aktivität.
- I/O-Latenz
Zeit bis zur Antwort von Festplatten, Netzwerkkarten oder anderen Block-/Char-Geräten.
Beispiele & Implementierungen
Linux-Kernel in Produktionsservern
Weit verbreitete Nutzung als Serverbetriebssystem, unterstützt durch Paketmanagement, Kernel-Module und umfangreiche Treiber.
RTOS in industrieller Automatisierung
Echtzeitbetriebssysteme sorgen für deterministisches Verhalten in Steuerungs- und Sensornetzwerken.
Mobile-Betriebssysteme
Speziell angepasste Systeme mit Energiemanagement, Sandboxen und Berechtigungsmodellen für mobile Geräte.
Implementierungsschritte
Anforderungsanalyse und Auswahl der geeigneten OS-Familie
Konfiguration von Kernel-Parametern und Sicherheitsrichtlinien
Testen, Monitoring einrichten und Rollout planen
⚠️ Technische Schulden & Engpässe
Tech Debt
- Altlasten durch proprietäre Treiber ohne Source-Builds
- Manuell gepflegte Konfigurationsänderungen außerhalb von IaC
- Nicht aktualisierte Patches für bekannte Sicherheitslücken
Bekannte Engpässe
Beispiele für Missbrauch
- Verwendung eines Desktop-OS als ungesicherter Server ohne Härtung
- Fehlkonfiguration von Berechtigungen, die Root-Zugriff ermöglicht
- Nichtbeachtung von Echtzeitanforderungen durch falsche Scheduler-Auswahl
Typische Fallen
- Annahmen über Treiberstabilität ohne Langzeittests
- Komplexe Live-Patches ohne Rollback-Plan
- Unzureichende Beobachtbarkeit von Kernel- und Systemmetriken
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Vorhandene Hardware-Architektur und Treiberverfügbarkeit
- • Echtzeitanforderungen oder regulatorische Vorgaben
- • Legacy-Systeme und Abwärtskompatibilität