Überblick
Der Linux®-Kernel ist die Hauptkomponente eines Linux-Betriebssystems und die zentrale Schnittstelle zwischen der Hardware eines Computers und seinen Prozessen. Er stellt die Verbindung zwischen den beiden her und verwaltet die Ressourcen so effizient wie möglich.
Der Kernel (dt.: Kern) befindet sich mitten im Betriebssystem und steuert alle wichtigen Funktionen der Hardware, unabhängig davon, ob es sich um ein Telefon, einen Laptop, einen Server oder eine andere Art von Computer handelt.
Die Funktion des Kernels
Der Kernel hat vier Funktionen:
- Speicherverwaltung: Verfolgt, wie viel Arbeitsspeicher zum Speichern von Daten verwendet wird und wo
- Prozessmanagement: Bestimmt, welche Prozesse die CPU (Central Processing Unit) wann und wie lange nutzen können
- Gerätetreiber: Dient als Vermittler/Übersetzer zwischen Hardware und Prozessen
- Systemaufrufe und Sicherheit: Nimmt Serviceanfragen von den Prozessen entgegen
Wenn der Kernel ordnungsgemäß implementiert ist, bleibt er für Nutzende unsichtbar und arbeitet in seiner eigenen kleinen Welt, die als Kernelspace bekannt ist. Dort weist er Speicher zu und verfolgt, wo alles gespeichert ist. Was Nutzende sehen – beispielsweise Webbrowser und Dateien – wird als Userspace bezeichnet. Diese Anwendungen interagieren mit dem Kernel über eine Systemaufrufschnittstelle (System Call Interface, SCI).
Sie können sich das so vorstellen: Kernel sind vielbeschäftigte Personal Assistants für mächtige Führungskräfte (die Hardware). Die Aufgabe des Assistenten besteht darin, Nachrichten und Anforderungen (Prozesse) von Mitarbeitenden und der Öffentlichkeit (Nutzenden) an den Chef weiterzuleiten, sich zu merken, was wo gespeichert ist (Arbeitsspeicher), und zu bestimmen, wer zu welchem Zeitpunkt wie lange Zugang zur Chefin oder zum Chef hat.
Wie der Kernel ins Betriebssystem passt
Um den Kernel in einen Kontext zu setzen, können Sie sich einen Linux-Rechner mit drei Ebenen vorstellen:
- Die Hardware: Die physische Maschine – der Sockel oder die Basis des Systems, bestehend aus Arbeitsspeicher (RAM) und Prozessor oder CPU sowie Ein-/Ausgabegeräten (E/A) wie Storage, Netzwerk und Grafikkarte. Die CPU führt Berechnungen sowie Lese- und Schreibvorgänge für den Speicher durch.
- Der Linux-Kernel: Der Kern des Betriebssystems. (Sie sehen, der Kernel ist mittendrin.) Er bildet die unterste Softwareschicht, befindet sich im Arbeitsspeicher und teilt der CPU mit, was zu tun ist.
- Benutzerprozesse: Dies sind die laufenden Programme, die der Kernel verwaltet. Die Benutzerprozesse bilden zusammen den Userspace. Benutzerprozesse werden auch einfach als Prozesse bezeichnet. Der Kernel ermöglicht diesen Prozessen und Servern auch die Kommunikation miteinander (bekannt als Inter-Process Communication oder IPC).
Der vom System ausgeführte Code wird auf CPUs in einem von zwei Modi ausgeführt: im Kernelmode oder im Usermode. Code, der im Kernelmode ausgeführt wird, hat uneingeschränkten Zugriff auf die Hardware, während im Usermode der Zugriff auf CPU und Arbeitsspeicher auf die SCI beschränkt ist. Eine ähnliche Trennung besteht für den Arbeitsspeicher (Kernelspace und Userspace). Diese beiden kleinen Details bilden die Grundlage für einige komplizierte Vorgänge wie die Trennung von Berechtigungen für Sicherheit, das Erstellen von Containern und virtuelle Maschinen.
Wenn also ein Prozess im Usermode fehlschlägt, ist der Schaden begrenzt und kann vom Kernel behoben werden. Weil der Kernel jedoch auf den Arbeitsspeicher und den Prozessor zugreift, kann ein Kernel-Prozessabsturz das gesamte System zum Absturz bringen. Um bestimmte Grenzen zu überschreiten, sind jedoch Sicherheitsvorkehrungen vorhanden und Berechtigungen erforderlich. Daher verursachen Abstürze von Benutzerprozessen normalerweise nicht zu viele Probleme.
Außerdem kommt es nicht zu Ausfallzeiten, wenn Patches für Sicherheits-Fixes eingespielt werden, da der Linux-Kernel während des Live-Patchings weiterarbeiten kann.
Warum Red Hat?
Bei Red Hat bildet Linux die Basis von allem, was wir tun. Als Unternehmen leistet Red Hat bei der Entwicklung des Linux-Kernels den zweitgrößten Beitrag. Wir bringen die Erfahrung und das Know-how von 25 Jahren sowie eine große Community von Partnern, Kunden und Experten aus den unterschiedlichsten Branchen ein. Dies ist eine dauerhafte Beziehung, mit einer Geschichte und einer Menge an Erfahrungen, wie man sie nur selten findet.
Der Linux-Kernel ist Open Source, und Open Source ist der Kern der Werte von Red Hat. Erfahren Sie, warum wir unser Unternehmen aus der Überzeugung heraus aufgebaut haben, dass Red Hat® Enterprise Linux die beste Lösung ist.