Stefan Franke

Fundamentale Ideen der Informatik

Betriebssysteme

PH Weingarten

Übersicht

  • Was ist ein Betriebssystem?
  • Grundaufgaben — Schnittstelle & Ressourcenverwalter
  • Anwendungen & Anforderungen — vom IoT bis zum Server
  • Schichtenaufbau
  • Aufgaben im Detail — Prozesse, Speicher, Dateien, Geräte
  • Benutzerschnittstelle — Shell & GUI
  • Marktanteile · Reflexion & Aufgaben

Das Betriebssystem als Schnittstelle

Betriebssystem als Schnittstelle zwischen Mensch und Hardware

Das Betriebssystem vermittelt zwischen Mensch, Anwendungen und Hardware.

Was ist ein Betriebssystem?

  • Das Betriebssystem (Operating System, OS) ist eine Software, die zusammen mit der Hardware die Basis zum Betrieb bildet und die Abarbeitung von Programmen steuert und überwacht.
  • Es macht die Benutzung des Computers erst möglich.
Beispiele: Windows, macOS, Linux, Android, iOS …

Grundaufgaben

Schnittstelle Mensch ↔ Hardware

  • Bedienschnittstelle (UI): Konsole & grafische Oberfläche (GUI)
  • Programmierschnittstelle (API): für Programmentwickler

Verwalter von Ressourcen

  • Prozessoren & Arbeitsspeicher
  • Festplatten & Dateien
  • Bildschirme, Drucker, Geräte

Vielfältige Anwendungen & Anforderungen

Je nach Einsatzzweck stellt das Gerät andere Anforderungen an das Betriebssystem:

Eingebettete Systeme (IoT)

Echtzeitfähigkeit, rudimentäres OS. VxWorks, Embedded Linux

Mobile Geräte

Akku-Effizienz, Multitouch, Sensoren. Android, iOS

Desktop-Computer

Multitasking, Datei-/Geräteverwaltung. Windows, macOS, Linux

Server

Hohe Verfügbarkeit, Virtualisierung. Linux, Unix, z/OS

Schichtenaufbau

Betriebssysteme sind in Schichten aufgebaut — jede Schicht baut auf der darunterliegenden auf.

Typischer Schichtenaufbau eines Betriebssystems

Abb.: Typischer Schichtenaufbau (nach Herold et al., 2017)

Prinzip: Schichtenarchitektur

Schichtenarchitektur: erlaubt und verboten
  • Eine Schicht darf nur auf die direkt darunter liegende zugreifen
  • Zugriff auf tiefere Schichten ist nicht erlaubt
  • Zugriff auf höhere Schichten ist ebenfalls nicht erlaubt

Abb. nach Ernst et al. (2017)

Beispiel: Schichtenarchitektur bei macOS

Schichtenarchitektur bei macOS

Aufgaben eines Betriebssystems

Aufgaben von Betriebssystemen

💡 Alltag: Browser öffnen

Was passiert, wenn ich Firefox starte? Das Betriebssystem koordiniert im Hintergrund alle Teilaufgaben gleichzeitig:

  • Ein Prozess wird erzeugt
  • Speicher wird zugewiesen
  • Dateien werden gelesen (Programm, Einstellungen)
  • Das Netzwerk wird genutzt
  • Bildschirm und Eingabegeräte werden angesprochen

Ein einziger Klick — und alle Aufgaben des Betriebssystems greifen ineinander.

Prozessverwaltung

  • Programme werden im OS als Prozesse ausgeführt
  • Ein Prozess ist ein laufendes Programm (Instanz zur Laufzeit) und besteht aus:
    • dem ausführbaren Programmcode
    • den Daten des Programms
    • dem aktuellen Zustand (Hardware-Kontext)
  • Multitasking: die CPU-Zeit wird zwischen Prozessen aufgeteilt (Scheduling)

Speicherinhalte bei der Prozessausführung

Speicherlayout eines Prozesses
  • Stack: wächst nach unten (Funktionsaufrufe)
  • Heap: dynamisch angeforderter Speicher
  • Daten: z. B. globale Variablen
  • Programm: die Maschinenbefehle

Abb. nach Ernst et al. (2017)

Synchronisation

Prozesse nutzen Betriebsmittel gleichzeitig. Paralleler Zugriff (z. B. auf den Drucker) muss geregelt werden.

  • Wechselseitiger Ausschluss (Mutual Exclusion): nur ein Prozess zur Zeit
  • Kritischer Abschnitt: Codebereich mit Zugriff auf gemeinsame Ressourcen
  • Umsetzung mittels Semaphoren
  • Gefahr: Deadlock — Prozesse blockieren sich gegenseitig

💡 Alltag: Zwei Programme drucken gleichzeitig

Warum braucht man Synchronisation?

  • Beide Programme wollen dieselbe Ressource (den Drucker)
  • Ohne Regelung würden sich die Ausdrucke vermischen — Chaos
  • Das Betriebssystem ordnet den Zugriff: erst der eine, dann der andere

Genau das leistet der wechselseitige Ausschluss aus der vorherigen Folie.

Speicherverwaltung

Statisch

Speicherzuweisung erfolgt einmal vor der Ausführung.

Dynamisch

Prozess fordert zur Laufzeit Speicher an und gibt ihn frei (Heap). Flexibel, aber fehleranfällig.

  • Paging: physischer Speicher in gleich große Seiten aufgeteilt → erweitert den virtuellen Speicher

Dateiverwaltung & Baumstruktur

  • Daten werden dauerhaft auf Sekundärspeicher abgelegt (HDD, SSD)
  • Verwaltung in einer Baumstruktur aus Verzeichnissen mit einem Wurzelverzeichnis
  • Eine Datei ist eindeutig durch ihren Pfad gekennzeichnet:
/home/isa05/public_html/index.html

Dateisysteme: NTFS (Windows), ext4 (Linux), APFS (macOS) · Schutz durch Zugriffsrechte

💡 Alltag: Datei speichern

Warum ist ein Pfad eine Abstraktion?

  • Die Nutzerin sieht: /home/isa05/public_html/index.html
  • Die Hardware speichert nur Blöcke auf SSD/HDD — ohne Namen, ohne Ordner
  • Das Betriebssystem übersetzt zwischen beiden Ebenen

Der Pfad verbirgt die technische Realität — wir denken in Ordnern, nicht in Speicherblöcken.

Geräteverwaltung & Treiber

  • An einen Rechner lassen sich viele verschiedene Peripheriegeräte anschließen
  • Für typische Geräte gibt es standardisierte Schnittstellen
  • Ein Gerätetreiber verbindet das konkrete Gerät mit der Standardschnittstelle
  • So bleibt das OS unabhängig von der konkreten Hardware
Gerätetreiber und Standardschnittstellen

Abb. nach Ernst et al. (2017)

Benutzerschnittstelle: Shell & GUI

Shell (Konsole)

  • Kommandozeile (CLI)
  • Befehle per Tastatur
  • Windows: cmd / PowerShell · macOS/Linux: Terminal

GUI

  • Grafische Oberfläche, Maus/Finger
  • Schreibtisch-Metapher (Desktop)
  • WIMP: Windows, Icons, Menus, Pointer

Multi-Touch-Bildschirme: Bedienung mit mehreren Fingern (Wischen, Spreizen zum Zoomen)

Betriebssysteme: Marktanteile

Weltweit (alle Geräte) hat Android Windows als am weitesten verbreitetes Betriebssystem abgelöst — getrieben durch Smartphones.

Marktanteile Betriebssysteme

Quelle: StatCounter Global Stats (gs.statcounter.com)

Ist das Betriebssystem eine fundamentale Idee?

Überprüfung anhand der vier Kriterien (Schwill, 1993):

Horizontalkriterium

In jedem Gerät mit Computer: Smartphone, Laptop, Server, Auto, Waschmaschine, IoT …

Vertikalkriterium

Vom intuitiven Bedienen (GUI) über Konsole/Dateisystem bis zu Kernel-Entwicklung & Scheduling-Forschung

Zeitkriterium

Seit den 1960ern (Batch) über Unix (1970) bis heute (Linux, Android) — Grundkonzepte stabil

Sinnkriterium

Täglich erfahrbar: jedes Gerät starten, Dateien verwalten, Programme öffnen — ohne OS geht nichts

Aufgaben heute — euer Gerät erkunden

Vier kurze Praxisaufgaben — eine nach der anderen. Pro Aufgabe ein Artefakt fürs Mahara-Portfolio.

1 · Task-Manager / Prozesse

Prozess suchen, CPU & Speicher notieren

2 · Dateisystem / Pfade

Vollständigen Pfad einer Datei, Baumstruktur

3 · Terminal / Shell

pwd, ls, mkdir, touch

4 · Netzwerk

ping, nslookup — was macht DNS?

Alle Aufgaben & die Reflexion: reflexion.html?sitzung=8

Fragen?



Sitzungsreflexion

franke-lab.de/lehre/sose/fundidee/reflexion.html?sitzung=8

Artefakte & Reflexion verfassen → HTML kopieren → in Mahara einfügen


To Do's:

  • e-Portfolio aktualisieren (Reflexion Sitzung 8)
  • Praxisaufgaben: Task-Manager, Dateisystem, Netzwerk, Terminal