Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03420.jsonl.gz/87

Kernel Definition & Begriffserklärung
Allgemeine Definition
Alle Softwarebestandteile eines Betriebssystems bauen auf der Prozess- und Datenorganisation des Kernels auf. Der Kernel selbst bildet in der Hierarchie der Softwareebenen die unterste Schicht und hat von dort unmittelbaren Zugriff auf die Hardware. Er bildet damit die Schnittstelle zwischen Hard- und Software und verbindet diese miteinander. Mit diesem zentralen Bereich des Betriebssystems beschäftigt sich die Informatik im Zusammenhang mit dem Aufgabenbereich des Software-Engineerings.
Ein Kernel muss dazu in der Lage sein, Aufgaben nicht nur hintereinander, sondern parallel im Rahmen des Multitaskings zu verarbeiten, die Aufgaben innerhalb enger Zeitvorgaben abzuarbeiten und für eine große Zahl von Anwendungen offen zu sein. Der Begriff “Userland” wiederum wird zur Abgrenzung vom Kernel verwendet und bezeichnet alle diejenigen Bereiche, die nicht zum Kernel gehören.
Aufbau eines Kernels
Der Systemkern setzt sich aus einer Reihe unterschiedlicher Bestandteile zusammen. Hierbei spricht man auch von Schichten oder Layer, die in einem Schichtenmodell angeordnet sind. Die unteren Schichten in diesem Modell werden als maschinennah bezeichnet, da sie direkt mit der Hardware kommunizieren. Die oberen Schichten hingegen basieren auf den Funktionen dieser unteren Schichten und haben keinen eigenen Maschinenzugriff.
Insgesamt können fünf Layer unterschieden werden: Schnittstelle zur Hardware, Speicherverwaltung, Prozessverwaltung, Geräteverwaltung und Dateisysteme. Die erste Schicht spricht dabei Hardwaregeräte an, den Prozessor und den Speicher. Die Prozessverwaltung wird auch als Scheduler bezeichnet und die Geräteverwaltung als DeviceManagement. Weitere Unterscheidungen können hinsichtlich monolithischer und Mikro-Kernel getroffen werden, wobei erstere sämtliche Schichten an einem Ort vereinen. Die Anwendungsprogramme eines Betriebssystems laufen jedoch in jedem Fall getrennt vom Kernel und greifen auf dessen Funktionen zurück. Ohne den Kernel wäre deshalb keine Kommunikation der Anwendungsprogramme mit der Hardware möglich.
Aufgaben des Kernels
Der Systemkern hat eine Reihe von Aufgaben innerhalb des Betriebssystems zu erfüllen. Dazu gehört zum einen wie oben erwähnt die Bereitstellung einer Schnittstelle zwischen Hardware und Anwendungsprogrammen, damit diese mit der Hardware kommunizieren können. Zudem kontrolliert der Kernel den Zugriff auf den Prozessor, die Speichergeräte und andere Hardwarekomponenten, auf die er idealerweise alleine zugreift, damit es nicht zu Konflikten kommen kann.
Eine weitere Aufgabe des Kernels aufgrund dieses alleinigen Hardwarezugriffs liegt damit auch in der Verwaltung bzw. Verteilung der Ressourcen auf die Anwendungsprogramme. Der Kernel trifft die Entscheidungen, welche Rechenzeiten zum Beispiel des Prozessors den Programmen zugestanden werden. Zudem greift der Kernel in das Dateisystem ein und bildet dieses auf Festplatten ab und muss sich um die Auflösung von Zugriffskonflikten kümmern, wenn mehrere Anwendungsprogramme auf die gleiche Hardware zugreifen möchten. Schließlich kümmert der Kernel sich um Visualisierungsaufgaben und die Überwachung der Zugriffsrechte auf Dateien.