Betriebssysteme verstehen
Wer organisiert Programme, Prozesse, Dateien, Benutzer, Hardware und Netzwerkfunktionen eines Computers?
Dieses Modul schlägt die Brücke zwischen dem einzelnen Computer aus Modul 1 und den späteren Netzwerk- und Infrastrukturthemen. Du lernst Betriebssysteme als zentrale Vermittlungs- und Verwaltungsschicht kennen und ordnest Windows, Linux, Dateisysteme, Benutzer, Berechtigungen, Prozesse, Dienste, Terminal und Shell sicher ein.
Wer organisiert eigentlich den Computer?
Das Betriebssystem verbindet Anwendungen mit den Ressourcen des Systems und koordiniert Prozesse, Speicher, Dateien, Geräte und Netzwerkfunktionen.
Was ist ein Betriebssystem?
Ein Betriebssystem ist grundlegende Software, die die Ressourcen eines Computers verwaltet und Anwendungen Funktionen zur Verfügung stellt.
Bekannte Betriebssysteme sind Microsoft Windows, Linux, macOS, Android und iOS. Für unseren Lernpfad sind insbesondere Windows und Linux relevant.
BENUTZER ↓ ANWENDUNG ↓ BETRIEBSSYSTEM ↓ CPU / RAM / SSD / NETZWERK
Warum benötigen wir ein Betriebssystem?
Mehrere Programme möchten gleichzeitig Rechenzeit, Arbeitsspeicher, Dateien und Netzwerkfunktionen nutzen. Ohne eine zentrale Instanz müsste jede Anwendung selbst wissen, wie jede Hardwarekomponente angesprochen wird.
Das Betriebssystem schafft dafür eine gemeinsame Ebene und koordiniert den Zugriff auf Ressourcen.
Anwendung A ─┐ Anwendung B ─┼──→ BETRIEBSSYSTEM ──→ HARDWARE Anwendung C ─┘
Was verwaltet ein Betriebssystem?
Für diesen Kurs interessieren uns besonders sieben Aufgaben:
- Prozesse
- Arbeitsspeicher
- Dateien
- Benutzer
- Berechtigungen
- Geräte
- Netzwerk
Diese Bereiche begegnen uns während des gesamten weiteren Lernpfads immer wieder.
Prozessverwaltung
Aus Modul 1 kennen wir bereits den Unterschied zwischen Programm und Prozess: Ein Programm ist gespeicherte Software, ein Prozess ist eine laufende Ausführung beziehungsweise Instanz.
Das Betriebssystem verwaltet Prozesse. Es organisiert unter anderem, welche Prozesse existieren, welcher Benutzer sie ausführt, welche Ressourcen sie verwenden und wann sie beendet werden.
PROGRAMM ↓ PROZESS ↓ BETRIEBSSYSTEM ↓ CPU / RAM / DATEIEN / NETZWERK
Speicherverwaltung
Mehrere Prozesse können gleichzeitig Arbeitsspeicher benötigen. Das Betriebssystem organisiert diese Nutzung.
RAM ┌──────────────────────┐ │ Betriebssystem │ ├──────────────────────┤ │ Prozess A │ ├──────────────────────┤ │ Prozess B │ ├──────────────────────┤ │ Prozess C │ └──────────────────────┘
Dateiverwaltung
Wenn eine Anwendung eine Datei öffnen oder speichern möchte, nutzt sie Funktionen des Betriebssystems. Dieses organisiert den Zugriff auf das Dateisystem und den persistenten Speicher.
ANWENDUNG ↓ BETRIEBSSYSTEM ↓ DATEISYSTEM ↓ SPEICHER
Geräteverwaltung
Ein Computer besitzt unterschiedliche Hardwarekomponenten wie CPU, RAM, SSD, Netzwerkadapter, Tastatur, Monitor oder USB-Geräte.
Das Betriebssystem verwaltet den Zugriff auf diese Geräte und stellt Anwendungen geeignete Schnittstellen zur Verfügung.
Was ist ein Treiber?
Ein Treiber ist Software, über die das Betriebssystem mit bestimmter Hardware kommunizieren kann.
Beispiele sind Grafiktreiber, Netzwerktreiber, Druckertreiber und Audiotreiber.
ANWENDUNG ↓ BETRIEBSSYSTEM ↓ TREIBER ↓ HARDWARE
Netzwerkverwaltung
Auch Netzwerkkommunikation wird wesentlich durch das Betriebssystem ermöglicht und organisiert. Ein Browser kommuniziert nicht einfach direkt mit einer Netzwerkkarte.
Browserprozess ↓ Betriebssystem ↓ Netzwerkfunktionen ↓ Netzwerkinterface ↓ Netzwerk
Später erweitern wir dieses Modell zu: Prozess → Socket → TCP/UDP → IP → Netzwerkinterface → Netzwerk.
Sieben Aufgaben des Betriebssystems
Öffne jede Karte einmal. Ziel ist, die Verwaltungsaufgaben nicht nur zu lesen, sondern als zusammenhängendes Systemmodell zu verankern.
Betriebssysteme und ihre Strukturen
Windows und Linux unterscheiden sich in Bedienung und Aufbau, folgen aber denselben Grundideen: Dateien, Pfade, Prozesse, Benutzer und Ressourcen werden organisiert.
Windows und Linux
Windows und Linux sind Betriebssystemfamilien, die Programme ausführen, Prozesse verwalten, Dateien speichern, Benutzer und Berechtigungen organisieren, Netzwerkkommunikation ermöglichen und Dienste bereitstellen können.
Die konkrete Umsetzung und Bedienung unterscheiden sich teilweise deutlich.
Windows
Windows ist eine Betriebssystemfamilie von Microsoft. Viele Nutzer kennen zunächst die sichtbaren Bestandteile wie Desktop, Explorer, Startmenü oder Taskleiste.
Diese grafische Oberfläche ist jedoch nur ein Teil des Systems. Darunter existieren weiterhin Prozesse, Dienste, Benutzer, Dateisystem, Netzwerkfunktionen, Berechtigungen und Systemkonfiguration.
Linux
Linux begegnet uns besonders häufig auf Servern, in Cloud-Umgebungen, Containern, Netzwerkkomponenten und technischen Plattformen.
Ein Linux-System kann zum Beispiel einen Webserver oder einen SSH-Dienst bereitstellen.
Linux bedeutet nicht automatisch Kommandozeile
Ein häufiges Missverständnis lautet: Linux = Kommandozeile. Das ist falsch.
Linux-Systeme können grafische Benutzeroberflächen besitzen. Umgekehrt besitzt auch Windows Kommandozeilenumgebungen wie PowerShell.
BETRIEBSSYSTEM ≠ BENUTZEROBERFLÄCHE
Was ist eine Linux-Distribution?
Linux ist nicht einfach ein einzelnes Produkt. Es existieren verschiedene Linux-Distributionen, beispielsweise Ubuntu, Debian, Fedora, Red Hat Enterprise Linux, Rocky Linux oder SUSE Linux Enterprise.
Eine Distribution kombiniert verschiedene Softwarebestandteile zu einem verwendbaren Betriebssystem.
Was ist ein Dateisystem?
Ein Dateisystem organisiert Dateien und Verzeichnisse hierarchisch.
DATEISYSTEM
├── Verzeichnis
│ ├── Datei
│ └── Datei
└── Verzeichnis
└── DateiWindows-Dateistruktur
Unter Windows begegnen uns häufig Laufwerksbuchstaben.
C:\ ├── Program Files ├── Users │ └── Alice │ └── Documents └── Windows
Ein möglicher Pfad lautet: C:\Users\Alice\Documents\bericht.txt
Linux-Dateistruktur
Linux verwendet typischerweise eine andere Struktur. Die oberste Ebene wird durch / dargestellt.
/ ├── home │ └── alice ├── etc ├── var ├── usr └── tmp
Ein möglicher Pfad lautet: /home/alice/documents/bericht.txt
Windows und Linux vergleichen
Die konkreten Verzeichnisstrukturen unterscheiden sich, das Grundprinzip bleibt jedoch gleich: Verzeichnis → Unterverzeichnis → Datei.
Was ist ein Pfad?
Ein Pfad beschreibt die Position einer Datei oder eines Verzeichnisses innerhalb eines Dateisystems.
Windows: C:\Users\Alice\Documents\bericht.txt
Linux: /home/alice/documents/bericht.txt
Absolute Pfade
Ein absoluter Pfad beschreibt den vollständigen Weg zu einem Objekt von einem eindeutigen Ausgangspunkt aus.
Windows: C:\Users\Alice\Documents\bericht.txt
Linux: /home/alice/documents/bericht.txt
Relative Pfade
Ein relativer Pfad wird ausgehend von einer aktuellen Position interpretiert.
Beispiel: Befinden wir uns in /home/alice, kann documents/bericht.txt relativ auf /home/alice/documents/bericht.txt verweisen.
Das aktuelle Arbeitsverzeichnis
Programme und Shells besitzen häufig ein aktuelles Arbeitsverzeichnis. Dieses dient als Bezugspunkt für relative Pfade.
Identitäten, Gruppen und Rechte
Technische Identitäten sind zentral: Prozesse laufen in Benutzerkontexten und Berechtigungen bestimmen, welche Aktionen auf Ressourcen zulässig sind.
Warum Benutzer existieren
Ein Betriebssystem muss unterscheiden können, wer etwas ausführt. Dafür existieren Benutzerkonten.
Beispiele sind alice, bob, administrator oder service_web.
Ein Benutzerkonto repräsentiert zunächst eine technische Identität innerhalb des Systems.
Mensch und Benutzerkonto sind nicht dasselbe
Ein Benutzerkonto ist zunächst eine technische Identität. Ein Mensch kann mehrere Konten besitzen, und ein Konto kann ausschließlich für einen technischen Dienst vorgesehen sein.
Benutzerkonto ≠ automatisch eindeutig eine reale Person
Diese Trennung ist für die spätere Analyse technischer Daten besonders wichtig.
Prozesse besitzen einen Benutzerkontext
Ein Prozess läuft typischerweise in einem bestimmten Benutzer- beziehungsweise Sicherheitskontext.
Beispiel: Ein Browserprozess kann unter dem Benutzer Alice laufen, ein Webserverprozess unter einem technischen Servicekonto.
Eine wichtige technische Frage lautet deshalb: Unter welcher Identität läuft dieser Prozess?
Gruppen
Benutzer können Gruppen zugeordnet werden. Gruppen erleichtern die gemeinsame Vergabe von Berechtigungen.
GRUPPE ├── alice ├── bob └── charlie
Warum Gruppen sinnvoll sind
Statt vielen einzelnen Benutzern dieselbe Berechtigung separat zuzuweisen, kann sie einer Gruppe zugewiesen werden.
Benutzer ↓ Gruppe „Analysten“ ↓ Berechtigung ↓ Ressource
Was sind Berechtigungen?
Berechtigungen legen fest, welche Aktionen eine Identität auf einer Ressource durchführen darf.
Beispiele: Datei lesen, Datei verändern, Programm ausführen, Verzeichnis betreten oder Systemkonfiguration verändern.
WER → darf → WAS → mit → WELCHER RESSOURCE?
Read, Write und Execute
Insbesondere unter Linux begegnen uns häufig drei grundlegende Berechtigungsarten:
- Read (r) = lesen
- Write (w) = schreiben beziehungsweise verändern
- Execute (x) = ausführen
Für den Einstieg genügt dieses Grundverständnis.
Berechtigungen hängen von der Ressource ab
Read, Write und Execute können je nach Objekttyp unterschiedliche Auswirkungen haben. Deshalb sollte eine technische Aussage möglichst immer benennen, auf welche Ressource sich eine Berechtigung bezieht.
Administrator und root
Betriebssysteme besitzen besonders privilegierte administrative Kontexte.
Unter Windows begegnet uns beispielsweise der Begriff Administrator, unter Linux insbesondere root.
Solche privilegierten Konten können weitreichende Änderungen am System durchführen.
Warum nicht immer mit maximalen Rechten arbeiten?
Je mehr Rechte ein Benutzer oder Prozess besitzt, desto größer können die Auswirkungen eines Fehlers oder einer Kompromittierung sein.
Darum existiert das Sicherheitsprinzip Least Privilege.
Least Privilege
Least Privilege bedeutet: Eine Identität oder ein Prozess sollte nur die Berechtigungen besitzen, die für die jeweilige Aufgabe tatsächlich benötigt werden.
Vom Programm zum laufenden Dienst
Programme werden zu Prozessen, Prozesse erhalten Kennungen und Dienste stellen Funktionen im Hintergrund bereit.
Programme erneut betrachtet
Ein Programm ist gespeicherte Software. Beispielsweise kann ein Browser als Programm auf einer SSD liegen. Erst beim Start entsteht eine laufende Instanz beziehungsweise ein Prozess.
Prozesse erneut betrachtet
Ein Prozess besitzt technische Eigenschaften. Dazu können PID, Benutzer, Speichernutzung, geöffnete Dateien, Netzwerkverbindungen oder Startzeit gehören.
Nicht jede Datenquelle zeigt zwangsläufig alle diese Informationen.
Was ist eine PID?
PID steht für Process Identifier. Das Betriebssystem verwendet eine PID, um einen laufenden Prozess zu identifizieren.
PID PROZESS 1024 browser 2157 ssh 3812 webserver
Warum PIDs nützlich sind
Wenn mehrere Instanzen desselben Programms laufen, reicht der Programmname allein möglicherweise nicht aus, um die konkrete Instanz zu unterscheiden. Die PID hilft dabei.
Prozess und Netzwerkverbindung
Unser Modell wächst weiter:
Benutzer ↓ Programm ↓ Prozess ↓ Betriebssystem ↓ Netzwerkkommunikation
Später wird daraus: Prozess → Socket → TCP/UDP → IP → Netzwerk.
Was ist ein Service?
Viele Programme laufen dauerhaft oder bei Bedarf im Hintergrund und stellen Funktionen bereit. Solche Funktionen werden häufig als Services beziehungsweise Dienste bezeichnet.
Beispiele sind Webserver, SSH-Server, Datenbankdienste oder DNS-Dienste.
Was ist ein Daemon?
In Unix- und Linux-Umgebungen begegnet uns häufig der Begriff Daemon.
Vereinfacht ist ein Daemon ein typischerweise im Hintergrund laufender Prozess, der eine bestimmte Funktion oder einen Dienst bereitstellt.
Dienst und Server nicht verwechseln
Ein Server kann ein System beziehungsweise eine Rolle beschreiben. Ein Service ist eine laufende beziehungsweise vom Betriebssystem verwaltete Funktion.
Auf einem Server können mehrere Dienste gleichzeitig laufen.
SERVER ├── SSH Service ├── Web Service ├── Monitoring Service └── weitere Services
Hintergrundprozesse
Viele Prozesse benötigen keine ständig sichtbare grafische Oberfläche. Sie können im Hintergrund laufen.
Nicht sichtbar bedeutet daher nicht nicht vorhanden.
Wie Menschen mit Systemen interagieren
GUI, Terminal und Shell sind unterschiedliche Ebenen. Besonders wichtig ist die Trennung zwischen lokaler Shell, SSH-Verbindung und Shell auf einem entfernten System.
GUI – Graphical User Interface
GUI steht für Graphical User Interface. Damit ist eine grafische Benutzeroberfläche gemeint.
Typische Elemente sind Fenster, Symbole, Menüs, Schaltflächen und Mausbedienung.
CLI – Command Line Interface
Eine andere Möglichkeit der Bedienung ist eine Kommandozeilenschnittstelle. Statt grafischer Elemente werden Befehle eingegeben.
Benutzer ↓ Terminal ↓ Shell ↓ Betriebssystem
GUI und CLI sind unterschiedliche Bedienformen
GUI und CLI können Funktionen desselben Betriebssystems verwenden.
Was ist ein Terminal?
Ein Terminal stellt vereinfacht die Umgebung bereit, in der textbasierte Ein- und Ausgaben dargestellt werden können. Auf einem modernen Desktop ist dies häufig ein Terminalprogramm oder Terminalfenster.
Das Terminal selbst interpretiert nicht zwangsläufig die eingegebenen Befehle.
Was ist eine Shell?
Eine Shell ist ein Programm beziehungsweise Kommandointerpreter, über den Benutzer Befehle an ein Betriebssystem beziehungsweise dessen Funktionen übergeben können.
BENUTZER ↓ TERMINAL ↓ SHELL ↓ BETRIEBSSYSTEM
Terminal und Shell als Analogie
Vereinfacht kann man sagen: Das Terminal ist die Umgebung, in der die Unterhaltung stattfindet. Die Shell ist der Gesprächspartner, der eingegebene Befehle interpretiert.
Die Analogie ist bewusst vereinfacht, hilft aber beim Einstieg.
Bash
Bash ist eine verbreitete Shell in Unix- und Linux-Umgebungen.
Wir müssen Bash an dieser Stelle noch nicht beherrschen. Wichtig ist nur: Linux kann unterschiedliche Shells bereitstellen, eine davon ist Bash.
PowerShell
Auch Windows besitzt Shells. Ein wichtiges Beispiel ist PowerShell.
Linux ≠ Kommandozeile Windows ≠ nur grafische Oberfläche
Shell ist nicht automatisch Programmieren
Das Eingeben eines Befehls in einer Shell ist nicht automatisch Programmierung. Ein Benutzer kann zum Beispiel lediglich Systeminformationen abfragen.
Komplexere Befehlsfolgen können später automatisiert werden; das ist aber nicht Ziel dieses Grundlagenmoduls.
Lokale Shell
Eine Shell kann lokal auf dem Computer ausgeführt werden, vor dem der Benutzer sitzt.
BENUTZER ↓ TERMINAL ↓ SHELL ↓ LOKALES BETRIEBSSYSTEM
Remote-Shell
Eine Shell kann auch auf einem entfernten System verwendet werden.
BENUTZER ↓ Terminal ↓ SSH Client ↓ NETZWERK ↓ SSH Server ↓ Shell ↓ ENTFERNTES LINUX-SYSTEM
Die Shell läuft in diesem Beispiel auf dem entfernten System.
SSH ist nicht die Shell
SSH ermöglicht unter anderem eine geschützte Verbindung zu einem entfernten System. Nach erfolgreicher Verbindung kann darüber beispielsweise eine Shell verwendet werden.
SSH ≠ Shell
Die Details lernen wir später in Modul 7.
Unser SSH-Szenario wächst
Nach Modul 0: Notebook → SSH → Linux-Server
Nach Modul 1: SSH Client → Prozess → Betriebssystem → Netzwerk → Server
Nach Modul 2: Benutzer → Terminal → SSH Client → Client-Betriebssystem → Netzwerk → SSH Service → Benutzerkontext → Shell → Server-Betriebssystem
RDP aus Sicht des Betriebssystems
Auch RDP können wir nun genauer betrachten:
Benutzer ↓ RDP Client ↓ Client-Betriebssystem ↓ Netzwerk ↓ Windows-System ↓ RDP Service ↓ Authentifizierung ↓ Benutzersitzung
Die technischen Details folgen ebenfalls in Modul 7.
Welche Informationen können wir über ein System beschreiben?
Auch ohne tiefe Administration können wir bereits grundlegende Fragen formulieren:
- Welches Betriebssystem?
- Welcher Hostname?
- Welcher Benutzer?
- Welche Zeit?
- Welche Netzwerkinterfaces?
- Welche Prozesse?
- Welche Dienste?
- Welcher Speicher?
- Welche Dateien?
Was ist ein Hostname?
Ein Hostname ist ein Name, mit dem ein System innerhalb eines bestimmten technischen Kontextes bezeichnet werden kann.
Beispiele sind webserver01 oder client-23.
Hostname ≠ IP-Adresse
Technische Identitäten nicht vorschnell gleichsetzen
Nach Modul 2 kennen wir bereits mehrere Identifikatoren: Hostname, Benutzername, PID und Dateiname.
Später kommen IP-Adresse, MAC-Adresse, Domain, Session ID, Request ID oder Connection UID hinzu.
Das vollständige Modell nach Modul 2
Jetzt werden Hardware, Betriebssystem, Identitäten, Prozesse, Dienste und Netzwerk zu einem gemeinsamen mentalen Modell verbunden.
Das vollständige Modell nach Modul 2
BENUTZER
│
▼
ANWENDUNG
│
▼
PROZESS
│
▼
┌─────────────────┐
│ BETRIEBSSYSTEM │
├─────────────────┤
│ Prozesse │
│ Speicher │
│ Dateien │
│ Benutzer │
│ Gruppen │
│ Berechtigungen │
│ Dienste │
│ Netzwerk │
│ Geräte │
└────────┬────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
CPU RAM SSD
│
Netzwerkinterface
│
▼
NETZWERK
Der Computer ist damit nicht mehr nur CPU + RAM + SSD, sondern ein organisiertes System aus Hardware, Betriebssystem, Identitäten, Prozessen, Dateien, Diensten und Kommunikationsmöglichkeiten.
Vom Benutzer bis zur Remote-Shell
Zeige den Ablauf schrittweise. Entscheidend ist die Frage, auf welchem System welche Komponente arbeitet.
Ordne die Begriffe selbst zu
Die Übungen greifen die vier Praxisideen der Modulvorlage auf. Alle Zuordnungen müssen korrekt sein, damit der Praxisanteil als abgeschlossen gilt.
Praxisübung 1 – Kategorie zuordnen
Praxisübung 2 – Wer darf was?
alice besitzt Read + Write, bob nur Read auf bericht.txt.
Praxisübung 3 – Programm oder Prozess?
Praxisübung 4 – Lokal oder remote?
Wissenscheck – Modul 2
Beantworte alle zwölf Fragen. Für den vollständigen Modulabschluss müssen alle zwölf Antworten korrekt sein.
Vom Benutzer bis zum entfernten System
Ein Mitarbeiter öffnet auf seinem Windows-Notebook ein Terminal und verbindet sich per SSH mit einem Linux-Server. Nach erfolgreicher Anmeldung erhält er dort eine Bash-Shell.
Aus dem Computer wird ein strukturiertes System.
Nach Modul 2 solltest du Betriebssystem, Prozesse, Benutzer, Rechte, Dateien, Dienste, Shells und Netzwerkfunktionen als zusammenhängende Ebenen einordnen können.
BENUTZER
↓
ANWENDUNG
↓
PROZESS
↓
BETRIEBSSYSTEM
├── Benutzer / Gruppen
├── Berechtigungen
├── Dateien
├── Prozesse
├── Dienste
├── Speicher
├── Geräte
└── Netzwerk
↓
NETZWERKINTERFACE
↓
NETZWERK