Aufbau von Linux
Ein Linux-System besteht aus mehreren zusammenarbeitenden Schichten. Der Kernel verwaltet Hardware und grundlegende Systemressourcen. Im Benutzerraum laufen Programme, Bibliotheken, Systemdienste und Benutzeroberflächen. Eine Distribution stellt diese Bestandteile zusammen und hält sie über ihre Paketverwaltung aktuell.
Die Schichten im Überblick
Das vereinfachte Schichtenmodell zeigt die üblichen Zugriffswege zwischen Programmen, Kernel und Hardware. Programme verwenden meist Bibliotheken für Systemaufrufe; direkte Systemaufrufe sind ebenfalls möglich und als gestrichelter Weg eingezeichnet. Der Kernel greift über unterschiedliche Mechanismen auf Hardware zu – etwa über CPU- und Speicherverwaltung sowie Gerätetreiber. Die Pfeile bilden nicht alle internen Abläufe ab.
Aufgaben des Kernels
| Bereich | Aufgabe |
|---|---|
| Prozessverwaltung | Rechenzeit zwischen Prozessen und Threads verteilen |
| Speicherverwaltung | Virtuellen Speicher und Arbeitsspeicher verwalten |
| Dateisysteme | Dateizugriffe und unterschiedliche Dateisystemtypen unterstützen |
| Zugriffsprüfung | Berechtigungen und weitere Sicherheitsmechanismen durchsetzen |
| Netzwerkstack | Netzwerkkommunikation, beispielsweise über TCP/IP, bereitstellen |
| Gerätetreiber | Zugriff auf unterstützte Hardware ermöglichen |
Einige Bestandteile können als Kernelmodule nachgeladen werden. Ein Kernelmodul ist jedoch nicht dasselbe wie ein Softwarepaket: Ein Paket ist eine Einheit der Softwareverteilung und kann Programme, Bibliotheken, Konfigurationen oder auch Kernelmodule enthalten.
Programme und Dienste im Benutzerraum
- Bibliotheken stellen wiederverwendbare Funktionen bereit und vermitteln häufig den Zugriff auf Systemaufrufe.
- Kommandozeilenwerkzeuge, beispielsweise aus den GNU Coreutils, helfen bei der Datei- und Systemverwaltung.
- Die Shell interpretiert Befehle und führt Programme aus; sie ist nicht selbst der Kernel.
- Systemdienste übernehmen Hintergrundaufgaben, beispielsweise Webserverbetrieb oder Netzwerkverwaltung.
- Benutzeroberflächen und Anwendungen ermöglichen die interaktive Arbeit am System.
Benutzerkonten werden mit Werkzeugen im Benutzerraum verwaltet; die Prüfung von Dateizugriffen erfolgt unter anderem im Kernel. Auch Netzwerkfunktionen verteilen sich auf mehrere Ebenen: Der Kernel stellt den Netzwerkstack bereit, während beispielsweise ein DNS-Resolver als Dienst im Benutzerraum arbeiten kann.
Was eine Distribution ergänzt
Distributionen wie Debian, Ubuntu oder Fedora legen unter anderem Paketquellen, Installationsverfahren und Standardeinstellungen fest. Sie liefern passende Softwarestände und Aktualisierungen. Sicherheit und Stabilität hängen außerdem von Konfiguration, Pflege und eingesetzten Anwendungen ab.
Weitere Grundlagen findest Du unter Linux-Distributionen und Dateisystem, Benutzer und Rechte.