Sie sind auf Seite 1von 16

Der Kern

Betriebssystemaufbau

Einführung: Basics, Geschichte &


Kategorien
Der Kern: Betriebssystemaufbau
Virtualisierung

Betriebs- und Kommunikationssysteme


Interrupts, Prozesse, Threads 43
Der Betriebssystemkern

• Der Kern / Kernel enthält die grundlegenden Funktionen des Betriebssystems und
ist die Schnittstelle zur Hardware
• Es existieren unterschiedliche Kernelarchitekturen
• Sie unterscheiden sich darin, welche Funktionen im Kern enthalten sind und welche sich
außerhalb des Kerns als Dienste (Server) befinden
• Monolithisch vs. minimal
• Funktionen im Kern haben vollen Hardwarezugriff (Kernelmodus)
• Funktionen außerhalb des Kerns können nur auf ihren virtuellen Speicher
zugreifen (Benutzermodus) und nicht alle Kernfunktionen aufrufen

Betriebs- und Kommunikationssysteme 44


Monolithischer Kern vs. Minimaler Kern

Betriebs- und Kommunikationssysteme 45


Zugriffsschutz: Kernel- vs. Benutzermodus

Kernelmodus Benutzermodus
• Privilegierter Modus • Nichtprivilegierter Modus
• Dient der Ausführung von Programmteilen des • Ablaufmodus für Anwendungsprogramme
Kernels • Kein Zugriff auf kernelspezifische Programm- und
• Schutz der Datenstrukturen des Kernels Datenbereiche

• Umschaltung über spezielle Maschinenbefehle


• Aktueller Modus steht in einem Statusregister

Betriebs- und Kommunikationssysteme 46


Virtualisierung

Einführung: Basics, Geschichte &


Kategorien
Der Kernel: Betriebssystemaufbau
Virtualisierung

Betriebs- und Kommunikationssysteme


Interrupts und Prozesse 47
Welche Formen der Virtualisierung kennen Sie?

Betriebs- und Kommunikationssysteme 48


Überblick Virtualisierung

Definition Virtualisierung:
Methoden zur Abstraktion von Ressourcen mit Hilfe von Software
 Virtuelles System verhält sich wie reales System

Viele Arten von Virtualisierung möglich


• Virtuelle Dateisysteme
• Virtuelle Speicher
• Virtuelle Maschinen
• Virtuelles Betriebssystem
• …

Betriebs- und Kommunikationssysteme 49


Virtuelle Maschinen

Anwendungsprozesse

Betriebssystem 1
(macOS Monterey)
Betriebssystem 2
(Windows 11)
… Betriebssystem N
(Linux)

Virtuelle Maschine (z.B. VMware)

Hardware

Betriebs- und Kommunikationssysteme 50


Betriebssystemvirtualisierung

Vorteile Nachteile
• Weniger Hardware notwendig • Overhead der Virtualisierung 5-10%
• Bessere Auslastung durch Serverkonsolidierung • Schwierig bei spezieller Hardwareunterstützung
• Heutige Server sind meist bei weitem nicht • z. B. Dongles, spezielle Grafikkarten
ausgelastet
• Weniger Leistungsaufnahme (Stromverbrauch)
• Bei Ausfall eines physischen Servers /
Hostbetriebssystems fallen mehrere virtuelle Server
• Flexibilität bei Aufbau einer Infrastruktur aus
• Vereinfachte Wartung, Technologiewechsel ohne
 hohe Anforderungen an Ausfallsicherungskonzept
Betriebsunterbrechung
• Unterstützt Ausfallsicherheitskonzepte
• Unterstützung historischer Anwendungen

Virtualisierung ist wichtig für Cloud Computing, da dieses virtuelle Maschinen zur Abschottung
untereinander und Skalierung nutzt!

Betriebs- und Kommunikationssysteme 51


Konzepte & Technologien

Es gibt unterschiedliche Virtualisierungskonzepte und


-technologien:
• Feste Partitionierung
• Dynamische/virtuelle Partitionen (vollständige Virtualisierung)
• Container
• …

Betriebs- und Kommunikationssysteme 52


Partitionierung

• Auf Hardware-Ebene (feste Partitionierung):


• In Rechnern mit mehreren System-Boards kann jedes Board einer Partition zugeordnet werden
 maximal so viele Partitionen, wie Boards vorhanden
• Der Server kann umkonfiguriert werden, um eine veränderte Aufteilung zu erhalten

• Auf Software-Ebene (vollständige Virtualisierung)


• Gesamtsystem wird in Teilsysteme mit lauffähigen Betriebssysteminstanzen (VMs) partitioniert
• Ressourcen (Prozessor, Hauptspeicher, IO) werden über Zwischenschichten den VMs
zugeordnet
• wiederum verschiedene Varianten möglich, siehe Folgefolien

Betriebs- und Kommunikationssysteme 53


Vollständige Virtualisierung: Typ-1 Hypervisor

• Virtual Machine Monitor (VMM) = Typ-1 Hypervisor direkt über der Hardware als
Minibetriebssystem
• Hypervisor läuft als einziges im Kernelmodus
• Beispiele: XenServer von Citrix, vSphere ESX von VMware, Hyper-V von Microsoft

VM VM

A1 A2 … A1 A2 … … Ax: Anwendungsprozesse

Windows Linux Gastbetriebssysteme (Usermodus)

Gastgeberbetriebssystem = Hostsystem
Typ-1-Hypervisor
(Kernelmodus)

Hardware

Betriebs- und Kommunikationssysteme 54


Vollständige Virtualisierung: Typ-2 Hypervisor

• Läuft als einfaches Benutzerprogramm über einem Gastgeberbetriebssystem, Hardware wird


teilweise emuliert, kann aber in Einzelfällen auch durchgereicht werden
• Deutlich mehr Overhead als bei Typ-1 Hypervisor
• Weniger für Produktionseinsatz, gut für Test- und Entwicklungsumgebungen

VM VM Host-
A1 A2 … A1 A2 … … Anwendung Ax: Anwendungsprozesse

Windows Linux Gastbetriebssysteme (Usermodus)

Typ-2-Hypervisor VMM (Usermodus)

Gastgeberbetriebssystem

Hardware

Betriebs- und Kommunikationssysteme 55


Anwendungsvirtualisierung über Container

• Kein zusätzliches Gastbetriebssystem, alles läuft im Gastgeberbetriebssystem


• Isolierte Laufzeitumgebungen virtuell in geschlossenem Container
• Im Container laufen die Anwendungen

Virtualisiertes Virtualisiertes
System (Container 1) System (Container 2)

A1 A2 … A1 A2 … … Ax: Anwendungsprozesse im jeweiligen


Container im Usermodus

Docker

Gastgeberbetriebssystem Gastgeberbetriebssystem im Kernelmodus

Hardware

Betriebs- und Kommunikationssysteme 56


Anwendungsvirtualisierung über Container

version: '3' Beispielkonfiguration für docker-compose (YAML)


services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /root/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
ports:
- "127.0.0.1:8042:80"
restart: unless-stopped
privileged: true
Wechsel in die Runtime-Umgebung des Containers:
network_mode: host docker exec -it homeassistant /bin/bash

Betriebs- und Kommunikationssysteme 57


Anwendungsvirtualisierung über Container

Vorteile Nachteile

• Geringer Ressourcenverbrauch • Sicherheitsprobleme, da Container meist einen


gemeinsamen Kernel nutzen
• Sehr skalierbar
• Schnelles Verschieben in die Cloud
• Einrichtung und Verwaltung im Vergleich zu VMs
ungewohnt
• Sehr flexibel einsetzbar für Microservices
• Zu hohe Erwartungen von Entscheidungsträgern
• Einsetzbar in hybriden Netzwerken • Anwendungen lassen sich zwar schneller
• da die Technologie an sich bereitstellen, benötigen aber auch eine geeignete
betriebssystemübergreifend funktioniert (im Infrastruktur und Entwicklungsumgebung
Hintergrund kommt aber dabei meist doch • Wenig Fachpersonal
wieder ein Linux-Kern zum Einsatz)
• Sicherheitsupdates müssen zusätzlich zum
• Schnelle Bereitstellung
Basissystem gepflegt werden. Ohne Aktualisierung
• Umgehung von Inkompatiblitäten mit
eines Containers bleibt eine Sicherheitslücke dort evtl.
Bibliotheken/Softwareständen des Basissystems
offen.

Betriebs- und Kommunikationssysteme 58

Das könnte Ihnen auch gefallen