Zum Inhalt

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.

Vereinfachtes Linux-Schichtenmodell mit Bibliotheken, direktem Systemaufruf und Hardwarezugriff über den Kernel

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.