Was ist ein Kernel?

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Grundlegendes

  • Der Kernel eines Betriebssystems bildet die hardwareabstrahierende Schicht
  • Er stellt auf dieser Basis der aufsetzenden Software eine einheitliche Schnittstelle (API) zur Verfügung.
  • Diese agiert unabhängig von der Rechnerarchitektur.
  • Die Software kann so immer auf die Schnittstelle zugreifen und braucht die Hardware nicht genauer zu kennen.
  • Linux ist dabei ein modularer monolithischer Kernel.
  • Der Kernel ist so etwas wie ein Vermittler zwischen Anwendungsprogrammen und Hardware.
  • Die Aufgaben sind Speicherverwaltung, Prozessverwaltung, Multitasking, Lastverteilung, Durchsetzung der Berechtigungen und Eingabe/Ausgabe-Operationen auf verschiedenen Geräten.
  • Der Kernel wird beim Systemstart in den Speicher geladen und verbleibt dort während der ganzen Zeit.
  • Der Kern selbst hat keine Anwendungsprogramme, Bibliotheken oder Systemsoftware.

Schaubild

  • Die Anwendungsprogramme greifen nicht direkt auf die Hardware zu.
  • Sie rufen Kernel System Calls auf und diese machen dann die wirklichen Aktionen.
  • Der Kernel kann aber auch Aufrufe verweigern.

Kernel und Module

  • Ein Kernel Modul ist mit einem Treiber vergleichbar.
  • Er wird geladen und bildet eine Einheit mit dem Kernel.