Dies ist ein maschinell übersetzter Text, der Fehler enthalten kann!
Der Betriebssystemkern
Wenn Sie eine Datei speichern, benötigt das Programm Zugriff auf die Speicherung. Wenn mehrere Programme gleichzeitig ausgeführt werden, benötigen sie sowohl Prozessorzeit als auch Speicher. Der Betriebssystemkern (Kernel) ist der Teil des Betriebssystems, der solche Ressourcen verwaltet und Programmen einen kontrollierten Zugang zu ihnen gewährt.
Hier sollen Sie erklären können, welche Aufgabe der Kernel erfüllt, und ihn vom Gesamtbetriebssystem sowie von der Benutzeroberfläche unterscheiden.
Position in der Serie: Dies ist Teil 3 von Betriebssysteme. [[Operating System Level 1 - What is an operating system|Teil 1]] erklärt den Gesamtüberblick; [[Operating System Level 2 - GUI and CLI|Teil 2]] zeigt die Benutzerschnittstellen. Beginnen Sie dort, wenn diese Begriffe neu für Sie sind. Die Seite wird auch als Grundlage für Virtualisierung und Container im zweiten Jahr verwendet.
Der Kernel ist Teil des Betriebssystems
Ein Betriebssystem enthält mehr als nur den Kernel. Es umfasst auch Bibliotheken, Systemdienste und Werkzeuge, die das System nutzbar und verwaltbar machen. Eine Kommandozeile oder ein graphisches Desktopumfeld bieten Ihnen eine Benutzeroberfläche zum System.
Sie können daher das Desktopumfeld von einem Linux-Server entfernen und trotzdem über ein funktionierendes Betriebssystem verfügen. Der Kernel und andere notwendige Teile des Systems sind weiterhin vorhanden.
Was macht der Kernel?
| Ressource oder Aufgabe | Was der Kernel verarbeitet |
|---|---|
| Prozessor (CPU) | Verteilt die Prozesszeit zwischen den Prozessen, also den laufendenProgrammen. |
| Arbeitsspeicher (RAM) | Verwaltet Speicherbereiche und schützt sie vor unbefugtem Zugriff durch andere Prozesse. |
| Speicherung und Geräte | Bietet unter anderem über Dateisysteme und Treiber Zugang an. Ein Treiber ist eine Software, die einen bestimmten Gerätetyp verwaltet. |
| Berechtigungen | Prüft viele Anfragen von Programmen anhand der Benutzer- und Prozessberechtigungen. |
Wenn ein Programm einen Dienst des Kernels benötigt, verwendet es einen Systemaufruf, oft über eine Bibliothek. Das Programm läuft in der Regel mit weniger Rechten als der Kernel. Dies ist eine wichtige Grenze im System.
Ein Beispiel: Sie speichern eine Textdatei
- Sie wählen im Textprogramm Speichern.
- Das Programm bittet das Betriebssystem darum, Daten in eine Datei zu schreiben.
- Der Kernel verarbeitet die Anfrage, einschließlich Berechtigungen und Zugriff über Dateisystem und Treiber.
- Das Programm erhält den Ergebnisbericht und kann anzeigen, ob der Vorgang erfolgreich war oder fehlgeschlagen ist.
Der gleiche Typ von Systemdienst wird verwendet, unabhängig davon, ob die Anfrage aus einer grafischen Anwendung oder einem Befehl stammt. GUI und CLI sind Benutzeroberflächen; der Kernel verwaltet die Systemressourcen. Das Beispiel ist vereinfacht: Pufferung und alle Details des Schreibens auf eine physische Festplatte wurden weggelassen.
Linux, Debian und Ubuntu: Was ist was?
Linux ist der Name eines Betriebssystem-Kernels. Umgangssprachlich wird der Name auch für komplette auf Linux basierende Betriebssysteme verwendet. Eine Linux-Distribution, zum Beispiel Debian oder Ubuntu, kombiniert den Linux-Kernel mit Bibliotheken, Werkzeugen, einem Installationsprogramm und einem Paket-System.
| Begriff | Verhältnis zu den anderen Komponenten |
|---|---|
| Der Linux-Kernel | Ein Teil eines auf Linux basierenden Betriebssystems. |
| Debian und Ubuntu | Distributionen, die auf dem Linux-Kernel aufbauen. Sie können unterschiedliche Kernelversionen und Konfigurationen verwenden. |
| GNOME und KDE Plasma | Beispiele für graphische Desktop-Umgebungen. Sie können installiert oder entfernt werden, ohne dass man den eigentlichen Betriebssystemkernel wechselt. |
| Bash | Eine Kommandozeile (Shell), die es dir erlaubt, Befehle auszuführen. Es handelt sich um ein Programm, nicht um den Kernel. |
Untersuchen Sie einen Linux-Computer, falls Sie über einen verfügen
In einem Linux-Terminal können Sie den Namen und die Version des laufenden Kernels lesen:
uname -s
uname -r
Der erste Befehl soll Linux anzeigen. Der zweite zeigt die Kernelversion auf genau diesem Computer an; sie muss nicht mit der eines Mitschülers übereinstimmen. Die Befehle ändern nichts und benötigen kein sudo.
Um zu sehen, welche Linux-Distribution Sie verwenden, lesen Sie eine andere Angabe ab:
cat /etc/os-release
Suche nach PRETTY_NAME, beispielsweise ein Name, der Debian oder Ubuntu enthält. Kernelversion und Distributionsversion sind unterschiedliche Informationen. Verwende diesen Abschnitt auf Linux; Du musst kein Linux installieren, um die Selbstprüfung unten durchzuführen.
Warum erscheint der Kernel bei VMs und Containern?
Eine VM führt ein Gastbetriebssystem mit eigener Kernal aus. Linux-Container teilen sich den Kernel des Linux-Systems, auf dem sie laufen. Wenn Docker innerhalb einer Linux-VM ausgeführt wird, teilen die Container den Kernel der VM.
Siehe das Diagramm über Betriebssysteme, VMs und Container für die Zusammenhänge und die Ressource zur Containerisierung für die illustrierte Gegenüberstellung.
Prüfe deine Erklärung
- Du entfernst GNOME von einem Debian-Server. Hast du auch den Kernel entfernt? Begründe die Antwort.
- Zwei Programme speichern Dateien gleichzeitig. Welcher Teil behandelt den Zugriff auf Systemressourcen?
uname -rundPRETTY_NAMEzeigen verschiedene Versionsnummern an. Warum können beide korrekt sein?
Prüfe die Antwort: GNOME ist das Desktop-Umfeld; dessen Entfernung entfernt nicht per se den Kernel. Der Kernel behandelt den Zugriff der Programme auf Systemressourcen zusammen mit anderen Komponenten des Systems. uname -r zeigt die Kernelversion an, während PRETTY_NAME die Distribution beschreibt.
Du bist bereit weiterzumachen, wenn du den Unterschied zwischen Betriebssystem, Kernel und Benutzeroberfläche mit einem eigenen Beispiel erklären kannst. Wenn du die Teile verwechselst, verwende die Abbildung und folge dem Dateischreibvorgang noch einmal nach. Möchtest du mehr untersuchen, erkläre, wie zwei unterschiedliche Linux-Distributionen auf derselben Art von Kernel aufbauen können.
Quellen: Red Hat: Linux-Kernel, Linux-basierte Betriebssysteme und uname. Die Illustration wurde für diese Ressource gezeichnet.