Was ist der Kernel und wofür genau ist er da?

Der Kernel ist das Herzstück eines Betriebssystems. Er ist der Kern des Betriebssystems und steuert das gesamte Computersystem.

29 may 2023

Was ist der Kernel und wofür genau ist er da?
Was ist der Kernel und wofür genau ist er da?
Was ist der Kernel und wofür genau ist er da?

Wussten Sie, dass sowohl Handys als auch Computer einen Kernel haben? Der Kernel oder Systemkernel sorgt für das ordnungsgemäße Funktionieren des Betriebssystems im Gerät und ist die Schnittstelle zwischen der Software und der Hardware. 

Er wird in allen Geräten mit einem Betriebssystem verwendet, z. B. in Computern, Laptops, Smartphones, Smartwatches... Im Grunde sind sie in Ihrem Leben häufiger anzutreffen, als Sie denken. 

Deshalb wollen wir heute mit Ihnen darüber sprechen, was ein Kernel ist, was er tut, wie wichtig er ist und vor allem, wie er aufgebaut ist. 

Interessiert? Dann zögern Sie nicht, den folgenden Artikel ausführlich zu lesen.

Was ist ein Kernel in Betriebssystemen?

Wie wir bereits erwähnt haben, ist der Kernel das Herzstück eines Betriebssystems. Er ist der Kern des Betriebssystems, und über ihn übt das Betriebssystem die Kontrolle über das gesamte Computersystem aus, d. h. über Anwendungen, Gadgets, Befehle, Aktionen usw. 

Wenn ein System hochgefahren wird, ist der Kernel das erste Programm, das nach dem Bootloader in den Speicher geladen wird, da der Kernel die restlichen Systemfunktionen des Betriebssystems übernimmt. Der Kernel verbleibt im Speicher, bis das Betriebssystem heruntergefahren wird.

Man kann sagen, dass er als Brücke zwischen den Hardwarekomponenten und dem Endbenutzer, also Ihnen, fungiert. Er ermöglicht die Ausführung anderer Programme, und all dies geschieht in Sekundenschnelle.

Jedes Computersystem, sei es ein Desktop, ein Laptop, ein Tablet oder ein Mobiltelefon, muss ein Betriebssystem haben, um die grundlegenden Funktionen des Geräts bereitzustellen. 

Einige der Betriebssysteme, mit denen Sie im Jahr 2023 wahrscheinlich vertraut sind, sind Windows, Linux, MacOS, Android und iOS. Es ist erwähnenswert, dass jede Version dieser Betriebssysteme, die aktualisiert wird, mit einem aktualisierten Kernel kommt.

Was sind die Funktionen des Kernels heute?

Der Kernel ist die wichtigste Schnittstelle zwischen dem Betriebssystem, d. h. den Software- und Hardwarekomponenten in einem Gerät, und Ihnen als Benutzer. 

Was ist das Ergebnis? Mehrere Aufgaben, die ausgeführt werden müssen. Wie Sie vielleicht bemerkt haben, ist dies jedoch für uns als Nutzer der Geräte nicht bemerkbar. Wir sehen nur, ob die Programme in der richtigen Weise ausgeführt werden oder nicht. 

Wenn wir ein Programm auf einem Computer benutzen, z. B. Excel, bedienen wir es in der so genannten grafischen Benutzeroberfläche (GUI). Das Programm wandelt jeden Tastenklick oder jede andere Aktion in Maschinencode um und sendet ihn an den Kern des Betriebssystems. 

Wenn wir in einer Excel-Tabelle eine neue Spalte hinzufügen wollen, geht dieser Aufruf an den Systemkern. Dieser wiederum leitet den Aufruf an die Verarbeitungseinheit (CPU) des Computers weiter, die die Aktion ausführt. 

Das Gleiche gilt für Smartphones, wenn eine Anwendung ausgeführt wird. Ein Kernel hat also mehrere Aufgaben. Aber sehen wir uns einige von ihnen genauer an:

1. Zeitplanung von Prozessen

Der Kernel stellt jedem Prozess eine Zeitscheibe zur Verfügung, d.h. wenn ein Prozess seine Ausführung beendet hat, startet der Kernel einen anderen Prozess, er bestimmt den Status des Prozesses, der laufen, warten oder beendet sein kann.

Wie wir Ihnen bereits gesagt haben, ist dies jedoch für uns nicht sichtbar, da alles in Sekundenschnelle und im internen Teil des Geräts geschieht. Aber an sich funktionieren alle Befehle, die Sie Ihrem Smartphone, Tablet oder Computer geben, auf diese Weise.

2. Ressourcenzuweisung

Der Kernel steuert Speicher, Peripheriegeräte und CPU-Prozesse. Er fungiert auch als Bindeglied zwischen Ressourcen und Prozessen, weist den Prozessen aber auch Speicher zu. 

Wenn ein Prozess Zugriff auf eine Hardwarekomponente benötigt, weist der Kernel diese Komponente zu, damit er ordnungsgemäß ausgeführt werden kann. Spotify benötigt zum Beispiel den Ton Ihres Smartphones und die Lautsprecher Ihres Computers. Der Kernel ordnet diese Hardware- und Softwarekomponenten zu, damit sie richtig genutzt werden können.

3. Geräteverwaltung

Kennen Sie den Moment, in dem Sie Ihre Kopfhörer an Ihr Smartphone anschließen? Ob über Bluetooth oder über den klassischen Klinkenanschluss, der Kernel verwaltet sie, wenn sie mit dem System verbunden werden, als E/A-Geräte, Speichergeräte usw. 

Informationen werden vom System empfangen und von den E/A-Geräten und verschiedenen Anwendungen an das System übertragen. Das Gleiche geschieht auf dem Computer jedes Mal, wenn Sie ein Peripheriegerät, eine Kamera, eine Maus oder ein Headset anschließen.

4. Unterbrechungsbehandlung und/oder Systemaufrufe

Sind Sie mit Hintergrundprozessen vertraut? Wenn nicht, werden wir sie kurz erklären. Ein Beispiel auf Smartphones ist WhatsApp, das immer läuft, allerdings im Hintergrund, um Sie über eine Nachricht zu informieren.

Wenn ein Prozess läuft, kann eine Aufgabe mit höherer Priorität auftauchen, die zuerst ausgeführt werden muss. Der Kernel schaltet die Kontrolle von dem gerade laufenden Prozess auf den neuen Prozess um, je nach dessen Prioritäten. Der Kernel verwaltet auch Systemaufrufe, bei denen es sich einfach um Softwareunterbrechungen handelt. 

5. Speicherverwaltung

Haben Sie schon einmal beobachtet, dass Ihr Mobiltelefon oder Ihr Computer nach längerem Gebrauch langsamer als normal wird? Das liegt an einem Problem mit der Speicherverwaltung, die Aufgabe des Kernels ist.

Ein gut funktionierender Kernel ist in der Lage, Prozesse zu erstellen und auszuführen, die Speicherplatz beanspruchen. Wenn der Prozess abgeschlossen ist, sollte er beendet werden, da der Kernel den Speicher für die Ausführung des Prozesses zuweist, ihn aber auch wieder freigibt. 

6. Prozess-Verwaltung

"Diese Anwendung wurde unerwartet beendet". Haben Sie diese Meldung schon einmal erhalten? Die Prozessverwaltung umfasst die Erstellung, Ausführung und Beendigung von Prozessen. Diese unerwarteten Beendigungen werden vom Kernel angeordnet, um die Leistung zu gewährleisten.

Schließlich ist der Kernel für die Ausführung aller Aufgaben auf dem Gerät zuständig, aber er muss über die nötige Kapazität verfügen. Wenn das Betriebssystem gesättigt ist, können diese unerwarteten Abschaltungen auftreten.

Alles über die 5 Arten von Kernel

Es gibt verschiedene Arten von Kernel, und jeder wird in dem einen oder anderen Gerät verwendet. Wir werden Ihnen die gängigsten Kernel im Jahr 2023 vorstellen und die Vor- und Nachteile jedes einzelnen Kernels erläutern.

1. Monolithischer Kernel

Implementiert grundlegende Funktionen von Computersystemen, einschließlich der Verwaltung von Dateien, Speicher und anderen Ressourcen. 

Er verleiht dem Betriebssystem eine primitive Architektur, bei der alle Ressourcen mit dem Kernelspace verbunden sind. Beispiele für Betriebssysteme, die einen monolithischen Kernel verwenden, sind Dos, Solaris, AIX, Linux, OpenVMS, usw.

Vorteile

  • Er ist schneller, da alle Verwaltungsdienste im selben Adressraum implementiert sind.

  • Prozesse laufen in einem einzigen Adressraum auf monolithischen Kerneln.

  • Weniger Bugs und Sicherheitsprobleme.

Nachteile

  • Wenn ein Dienst ausfällt, fällt das gesamte System aus.

  • Das gesamte System muss geändert werden, wenn neue Funktionen hinzugefügt werden.

2. Mikrokernel

Ein Mikrokernel ist die Art von Betriebssystemarchitektur, die genauso nützlich ist wie die anderen Architekturen und die für die Dateiverwaltung, die Speicherverwaltung und die Prozessplanung verwendet wird.

Er ähnelt den oben genannten Architekturen, fügt aber zusätzlichen Speicherplatz für verschiedene andere Zwecke hinzu, z. B. für die gemeinsame Nutzung von Dateien, die Planung von Prozessen, Kernel-Dienste usw.

Vorteile

  • Sie bieten eine zusätzliche Sicherheitsebene, da sie nur die Teile hinzufügen, die die Funktionalität des Systems beeinflussen.

  • Sie können Mikrokernel-Module ändern, ohne das gesamte System zu beeinflussen.

  • Isolierte und kompakte Struktur bedeutet bessere Leistung.

Nachteile

  • Wenn Controller als Prozeduren implementiert sind, ist ein Kontextwechsel oder Funktionsaufruf erforderlich.

  • Die Leistung eines Mikrokernelsystems kann einheitlich bleiben und Probleme verursachen.

3. Hybrider Kernel

Dies ist eine Kombination aus dem Mikrokernel und dem monolithischen Kernel, also eine Erweiterung des Mikrokernels. Er verwendet zusätzlichen Code aus dem Kernelbereich und einige Attribute des monolithischen Kernels, um seine Gesamtleistung zu verbessern.

Hybridkernel waren der Schlüssel zur Entwicklung von Betriebssystemen wie MacOS, IOS, WatchOS und tvOS. Im Vergleich zu einem Mikrokernel, bei dem sich alles in Servern und Treibern auf Benutzerebene abspielt, kann der Entwickler eines hybriden Kernels beschließen, einige Komponenten innerhalb des Kernels und andere außerhalb zu halten. 

Vorteile

  • Er ist aufgrund seiner Schichten einfacher zu verwalten.

  • Die Anzahl der Schichten ist geringer.

  • Der Kernel ist klein und isoliert.

Nachteile

  • Da ein hybrider Kernel ein Gleichgewicht zwischen den Vorteilen des monolithischen Kernels und des Mikrokernels herstellt, gehen bestimmte Vorteile beider Systeme verloren oder werden beeinträchtigt.

4. Nanokernel

Bei diesem Kernel ist der Umfang des Kernel-Codes reduziert, enthält aber Code, der mit Hardware-Privilegien ausgeführt wird. Er kann als ein Kernel mit Nanosekunden-Taktauflösung beschrieben werden. 

KeyKOS ist ein Betriebssystem, das auf Objektorientierung und Fähigkeiten basiert. Es existiert seit 1983 und basiert auf dem Nanokernel. Es erfüllt die Anforderungen an Zuverlässigkeit, Sicherheit und ständige Verfügbarkeit von Software und Anwendungen. 

Vorteile

  • Code und Binärdateien sind klein.

  • Ausgezeichnete Leistung.

Nachteile

  • Nicht sehr reich an Funktionen.

  • Er ist einer der am wenigsten genutzten, da er Mikrokerneln ähnelt.

5. Exokernel

Ziel ist die Verwaltung von Anwendungs- und Hardwareressourcen, daher ist seine Struktur darauf ausgelegt, Ressourcen von der Verwaltung zu isolieren und zu schützen, bietet aber eine einfachere Anpassung der Anwendungen.

Ziel ist es, die zugrundeliegende Hardware zugänglicher zu machen, so dass seine Struktur einen unglaublichen Einfluss auf die Leistung von Anwendungen und kompatiblen Anwendungen für den Aufbau von Betriebssystemen hat.

Vorteile

  • Bessere Unterstützung für die Anwendungskontrolle.

  • Sicherheit und Verwaltung sind voneinander getrennt.

  • Bibliotheksbetriebssysteme bieten Portabilität und Kompatibilität.

Nachteile

  • Das Schnittstellendesign ist eines der kompliziertesten aller Kernel.

Wie ist ein Kernel aufgebaut?

Der Kernel besteht aus mehreren aufeinander aufbauenden Schichten, die im Folgenden beschrieben werden:

  • Hardware: Dies ist die unterste Schicht und bildet die Schnittstelle zur Systemhardware, auf die das Betriebssystem Zugriff hat. Dazu gehören z. B. der PCI-Express-Controller oder der Speicher.

  • Speicherverwaltung: In der nächsten Schicht werden den laufenden Prozessen bestimmte Mengen des verfügbaren Hauptspeichers zugewiesen. Darüber hinaus kann hier auch virtueller Hauptspeicher zugewiesen werden.

  • Prozessverwaltung: In dieser Schicht werden Programmzeiten verwaltet und eingehende Anfragen so getaktet, dass sie für uns als Nutzer parallel erscheinen.

  • Geräteverwaltung: In dieser Schicht findet die Geräteverwaltung statt. Im Gegensatz zur Hardwareschicht handelt es sich hierbei um extern angeschlossene Geräte, wie z. B. Monitore oder Drucker bei Computern und Headsets, Ladegeräte usw. bei Mobiltelefonen. Die Kommunikation wird durch spezielle Treiber sichergestellt.

  • Dateisystem: Auf der obersten Schicht werden die Prozesse bestimmten Bereichen auf der Festplatte, d. h. HDD oder SSD, zugewiesen.

Obwohl es verschiedene Arten von Kernel gibt und jeder seine eigene Form in der Infrastruktur hat, ist dies nur ein grundlegender Leitfaden dafür, wie jeder einzelne von ihnen aufgebaut ist. Jede obere Schicht hängt von den unteren ab und funktioniert wegen ihnen. 

Kernel sind überall

Jetzt, wo Sie das wissen, werden Sie überrascht sein, wie sehr es Ihnen helfen kann, zu erkennen, wann Ihr Gerät eine Änderung und/oder Wartung benötigt. Wenn es zu Leistungseinbußen kommt, hat der Kernel vielleicht das Ende seines Lebenszyklus erreicht.

Es ist also an der Zeit, sich nach einem Gerät mit einem fortschrittlicheren und aktualisierten Kernel umzusehen, der die Anforderungen erfüllt, die Sie in den kommenden Jahren an das Gerät stellen werden.

Wie wäre es, wenn Sie uns sagen würden, wie viele Kernel Sie gerade in Ihrer Umgebung haben? Bedenken Sie, dass Computer und Handys einen Kernel haben, der ihre Leistung und Nutzung garantiert. Wir werden Sie in den Kommentaren lesen.