← Zur Übersicht
AP1-03 · AP1 — Teil 1

Betriebssysteme

Aufgaben eines Betriebssystems

Das Betriebssystem (BS) ist die Vermittlungsschicht zwischen Hardware und Anwendungsprogrammen. Es stellt Anwendungen einheitliche Schnittstellen zur Verfügung, damit diese nicht direkt mit der Hardware kommunizieren müssen. Prüfungsrelevant sind vor allem fünf Kernaufgaben:

  • Ressourcenverwaltung: Verteilung von CPU-Zeit, Arbeitsspeicher, Peripheriegeräten und Netzwerkzugriff auf die laufenden Programme, inklusive Schutz vor gegenseitiger Störung.
  • Prozessverwaltung: Erzeugen, Starten, Anhalten und Beenden von Prozessen sowie Zuteilung von Rechenzeit durch den Scheduler.
  • Speicherverwaltung: Zuweisung von Arbeitsspeicherbereichen an Prozesse, Verwaltung von virtuellem Speicher (Auslagerungsdatei/Swap) und Schutz der Speicherbereiche einzelner Prozesse voreinander.
  • Ein-/Ausgabeverwaltung: Steuerung von Geräten wie Festplatte, Netzwerkkarte, Tastatur oder Drucker über Gerätetreiber, die die Hardware-Details vor der Anwendung verbergen.
  • Benutzerschnittstelle: Bereitstellung einer grafischen Oberfläche (GUI) oder Kommandozeile (CLI), über die Nutzer und Programme mit dem System interagieren.

Man unterscheidet außerdem Einzelplatz- und Mehrbenutzersysteme sowie Einprogramm- und Mehrprogrammbetrieb (Multitasking), bei dem mehrere Prozesse scheinbar gleichzeitig laufen.

Prozesse und Threads

Ein Prozess ist ein in Ausführung befindliches Programm inklusive seines eigenen Speicherbereichs, Dateihandles und Zustands (laufend, bereit, wartend). Jeder Prozess ist vom Betriebssystem gegenüber anderen Prozessen isoliert.

Ein Thread ist ein "Ausführungsstrang" innerhalb eines Prozesses. Mehrere Threads eines Prozesses teilen sich denselben Speicherbereich und dieselben Ressourcen, besitzen aber jeweils einen eigenen Befehlszähler und Stack. Threads sind dadurch leichtgewichtiger als Prozesse: Sie lassen sich schneller erzeugen und wechseln, und die Kommunikation zwischen Threads ist einfacher, weil kein Datenaustausch über Prozessgrenzen nötig ist.

Scheduling

Der Scheduler entscheidet, welcher Prozess bzw. Thread wann die CPU zugeteilt bekommt. Zwei Grundprinzipien solltest du kennen:

  • Zeitscheibenverfahren (Round Robin): Jeder Prozess erhält reihum ein festes Zeitintervall (Zeitscheibe) CPU-Zeit. Läuft die Zeit ab, wird der Prozess unterbrochen und der nächste kommt an die Reihe. Das sorgt für gefühlte Gleichzeitigkeit bei Multitasking.
  • Prioritätsgesteuertes Scheduling: Prozesse mit höherer Priorität werden bevorzugt der CPU zugeteilt, z. B. Systemprozesse vor Hintergrundprogrammen. Häufig kombiniert mit Zeitscheiben, damit niedrig priorisierte Prozesse nicht komplett verhungern.
Prüfungstipp

In der AP1 wird oft nur der Unterschied zwischen Prozess und Thread abgefragt ("eigener Adressraum" vs. "gemeinsamer Adressraum"). Merke dir das als klaren Merksatz – das reicht meist für die Punkte.

Dateisysteme im Vergleich

Ein Dateisystem organisiert, wie Daten auf einem Datenträger gespeichert und wiedergefunden werden. Prüfungsrelevant sind vor allem NTFS, ext4 sowie FAT32/exFAT.

DateisystemEinsatzMax. DateigrößeRechteverwaltung
NTFSWindows (Standard)ca. 16 TB (praktisch)ACLs (NTFS-Berechtigungen)
ext4Linux (Standard)16 TBUnix-Rechte (rwx)
FAT32USB-Sticks, alte Geräte4 GBkeine
exFATUSB-Sticks, SD-Karten (groß)16 EB (praktisch)keine

Rechteverwaltung: NTFS vs. Unix

NTFS-Berechtigungen arbeiten mit ACLs (Access Control Lists): Für jede Datei bzw. jeden Ordner kann einzelnen Benutzern oder Gruppen jeweils eine eigene Kombination aus Lesen, Schreiben, Ändern, Ausführen und Vollzugriff zugewiesen werden – fein granular und beliebig erweiterbar.

Bei Unix-Rechten (rwx) gibt es für jede Datei genau drei Rechte-Trios für Besitzer (owner), Gruppe (group) und alle anderen (others), jeweils mit r (lesen), w (schreiben) und x (ausführen), z. B. rwxr-xr-- bzw. numerisch 754. Das ist einfacher, aber weniger granular als NTFS-ACLs.

FAT32/exFAT kennen keine Zugriffsrechte auf Dateisystemebene – deshalb eignen sie sich vor allem für austauschbare Wechseldatenträger, nicht für Systempartitionen mit mehreren Benutzern.

Windows-Grundlagen

Dienste (Services)

Ein Dienst ist ein Hintergrundprogramm, das ohne Benutzeranmeldung läuft und meist automatisch mit dem System startet (z. B. Druckerwarteschlange, Windows-Update, DNS-Client). Verwaltet werden Dienste über services.msc oder die Kommandozeile mit sc bzw. PowerShell-Cmdlets wie Get-Service.

Registry

Die Registry ist eine zentrale, hierarchische Datenbank, in der Windows Konfigurationseinstellungen für System, Hardware, Software und Benutzerprofile speichert. Bearbeitet wird sie über regedit. Wichtige Hauptschlüssel:

  • HKEY_LOCAL_MACHINE (HKLM) – systemweite Einstellungen für alle Benutzer
  • HKEY_CURRENT_USER (HKCU) – Einstellungen des aktuell angemeldeten Benutzers
  • HKEY_USERS (HKU) – Profile aller auf dem System vorhandenen Benutzer
  • HKEY_CLASSES_ROOT (HKCR) – Dateiverknüpfungen und COM-Objektinformationen
  • HKEY_CURRENT_CONFIG (HKCC) – aktuelle Hardwarekonfiguration

Benutzer- und Gruppenverwaltung (lokal)

Lokale Benutzer und Gruppen werden über lusrmgr.msc oder die Computerverwaltung angelegt. Standardgruppen sind unter anderem Administratoren (voller Systemzugriff) und Benutzer (eingeschränkte Rechte). Rechte werden idealerweise nicht einzelnen Benutzern, sondern Gruppen zugewiesen – das erleichtert die Verwaltung erheblich.

Linux-Grundlagen

Verzeichnisstruktur (FHS)

Der Filesystem Hierarchy Standard (FHS) legt eine einheitliche Verzeichnisstruktur für Linux-Systeme fest:

  • /etc – Konfigurationsdateien des Systems
  • /home – persönliche Verzeichnisse der Benutzer
  • /var – veränderliche Daten wie Logs (/var/log) oder Spool-Dateien
  • /usr – installierte Programme und zugehörige Ressourcen
  • /bin, /sbin – grundlegende Programme bzw. Systemverwaltungsbefehle
  • /root – Home-Verzeichnis des Administrators (root)
  • /tmp – temporäre Dateien

Wichtige Befehle

  • ls – Verzeichnisinhalt anzeigen
  • cd – Verzeichnis wechseln
  • chmod – Zugriffsrechte ändern, z. B. chmod 755 datei.sh
  • chown – Besitzer/Gruppe einer Datei ändern, z. B. chown user:gruppe datei
  • ps – laufende Prozesse anzeigen
  • systemctl – Dienste (systemd) verwalten, z. B. systemctl status apache2

Paketverwaltung

Software wird unter Linux nicht wie unter Windows per Installer eingerichtet, sondern über einen Paketmanager aus zentralen Repositories bezogen, installiert und aktualisiert. Das Grundprinzip: Der Paketmanager löst Abhängigkeiten automatisch auf und installiert benötigte Zusatzpakete gleich mit. Beispiele: apt (Debian/Ubuntu, z. B. apt install nginx) und yum bzw. dnf (RedHat/CentOS/Fedora).

Virtualisierung — kurzer Überblick

Virtualisierung erlaubt es, mehrere Gastbetriebssysteme auf einem physischen Hostsystem gleichzeitig zu betreiben. Die dafür zuständige Softwareschicht heißt Hypervisor: Sie teilt die physische Hardware (CPU, RAM, Speicher) logisch zwischen den Gastsystemen auf und isoliert diese voneinander. Man unterscheidet grob Typ-1-Hypervisor (läuft direkt auf der Hardware, z. B. VMware ESXi) und Typ-2-Hypervisor (läuft als Anwendung auf einem bestehenden Betriebssystem, z. B. VirtualBox).

Für die AP1 reicht dieses Grundverständnis von Host, Gast und Hypervisor. Vertiefte Konzepte wie Servervirtualisierung, Container gegenüber klassischer Virtualisierung oder Live-Migration werden erst in der AP2 relevant.