Die Frage nach seiner Funktionsweise klärt sich mit einer Gegenfrage: Was ist ein Kernel nicht? Beim Kernel handelt es sich nicht um einen Prozessorkern, sondern um den Betriebssystemkern. Ein Kernel ist auch kein API oder ein Framework.
Stattdessen können Multi-Kernel-Betriebssysteme verschiedene Kerne eines Multikern-Prozessors wie ein Netzwerk unabhängiger CPUs nutzen. Wie das funktioniert? Durch den besonderen Aufbau des Kernels, der sich aus einer Reihe unterschiedlicher Bestandteile zusammensetzt:
- Dadurch, dass seine unterste Schicht maschinennah ist, kann sie direkt mit der Hardware, dem Prozessor und dem Speicher kommunizieren. Entlang der fünf Layer unterscheiden sich die Funktionen des Kernels, von der Prozessverwaltung bis zum Gerätemanager. Die oberste Schicht hingegen hat keinen Maschinenzugriff, sondern schafft den Übergang zur Software.
- Anwendungsprogramme laufen auf dem Betriebssystem getrennt vom Kernel ab und greifen nur auf dessen Funktionen zurück. Ohne den Kernel wäre die Kommunikation zwischen Programm und Hardware nicht möglich.
- Mehrere Prozesse können über Multitasking-Kernel zur gleichen Zeit ablaufen. Grundsätzlich ist es aber so, dass von einer CPU immer nur ein Prozess bearbeitet werden kann – außer es liegt ein Mehrkernsystem vor. Den schnellen Prozesswechsel, der sich letztlich wie Multitasking anfühlt, erledigt der Scheduler.
Aus den Bestandteilen lassen sich die vier Funktionen des Kernels ableiten:
- Speicherverwaltung: Regelt, wie viel Arbeitsspeicher wo verwendet wird.
- Prozessmanagement: Bestimmt, welche Prozesse die CPU wann und wie lange nutzen kann.
- Gerätetreiber: Vermittelt zwischen Hardware und Prozessen.
- Systemaufruf und Sicherheit: Nimmt Serviceanfragen von den Prozessen entgegen.
Die Funktionen eines Kernels bleiben, wenn er ordnungsgemäß implementiert ist, für User unsichtbar. Er arbeitet in seiner eigenen Welt, dem Kernelspace. Dateien, Programme, Games, Browser – kurzum alles, was der User sieht, findet im Userspace statt. Die Interaktion beider Welten läuft über eine Systemaufrufschnittstelle, das SCI.