Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Kernel (Betriebssystem)

Ein Kernel (englisch [ˈkɝːnəl], übersetzt Kern), auch Betriebssystemkern (oder verkürzt Systemkern), ist der zentrale Bestandteil eines Betriebssystems.

Inhalt5 Abschnitte
  1. 1. Kern des Betriebssystems
  2. 2. Schichten und Kerneltypen
  3. 3. Aufgaben und Ressourcenschutz
  4. 4. Prozesse und Mehrbenutzersysteme
  5. 5. Start des Kernels

Kern des Betriebssystems

Der Kernel, auch Betriebssystemkern oder Systemkern, ist der zentrale Bestandteil eines Betriebssystems. Er legt die Prozess- und Datenorganisation fest, auf der alle weiteren Bestandteile des Betriebssystems aufbauen. Als unterste Softwareschicht hat er direkten Zugriff auf die Hardware; andere Software liegt meist in darüberliegenden Schichten.

Wichtige Anforderungen sind Multitasking, also die Verarbeitung mehrerer Aufgaben im Wechsel, das Einhalten zeitkritischer Grenzen sowie die Erweiterbarkeit für unterschiedliche Anwendungen.

Schichten und Kerneltypen

Ein Kernel kann in Schichten aufgebaut sein: Untere, maschinennahe Schichten bilden die Grundlage für höhere Schichten. Höhere Schichten dürfen Funktionen niedrigerer Schichten aufrufen, nicht aber umgekehrt.

Von unten nach oben gehören dazu die Schnittstelle zu Hardware wie Geräten, Speicher und Prozessoren, die Speicherverwaltung einschließlich möglichen virtuellen Hauptspeichers, die Prozessverwaltung beziehungsweise der Scheduler, die Geräteverwaltung und die Dateisysteme.

Bei einem monolithischen Kernel sind alle diese Funktionen im Kernel integriert. Ein Mikrokernel verlagert wesentliche Teile in getrennte Prozesse. Ein Hybridkernel ist eine Zwischenform: Ein Teil der Funktionen bleibt im Kernel, der Rest ist ausgelagert. Exokernel teilen nur die Hardware zwischen Prozessen auf; weitere Aufgaben übernehmen die Prozesse selbst. Sie werden selten eingesetzt.

Der Kernel läuft im Kernel-Mode, ebenso Gerätetreiber und andere hardwarenahe Anwendungen. Kernel und Kernel-Mode sind jedoch nicht dasselbe: Unter Windows NT laufen neben dem Kernel ntoskrnl.exe beispielsweise auch die Hardware Abstraction Layer hal.dll im Kernel-Mode.

Aufgaben und Ressourcenschutz

Der Kernel stellt Anwenderprogrammen eine Schnittstelle bereit, etwa zum Starten und Beenden, für Ein- und Ausgabe sowie für Speicherzugriffe. Er kontrolliert den Zugriff auf Prozessor, Geräte und Speicher; dazu gehören Scheduler, Gerätetreiber und Speicherschutz. Möglichst soll nur der Kernel direkt auf diese Ressourcen zugreifen.

Er verteilt Ressourcen, beispielsweise Prozessorzeit oder Prozessoren, auf Anwenderprogramme. Außerdem strukturiert er Ressourcen: Dateisysteme werden auf blockorientierte Geräte wie Festplattenlaufwerke abgebildet, ein Netzwerkstack auf Netzwerkkarten.

Der Kernel löst Zugriffskonflikte, etwa durch Verriegelungen in Mehrprozessorsystemen oder Warteschlangen bei knappen Ressourcen. Er virtualisiert Ressourcen: Prozessoren erscheinen als Prozesse, Festplatten als Dateien, Netzwerkkarten beispielsweise als Sockets, Speicher als virtueller Speicher und Geräte als Spezialdateien. In Mehrbenutzersystemen überwacht er auch Zugriffsrechte auf Dateien und Geräte.

Prozesse und Mehrbenutzersysteme

Ein Prozess oder Task enthält mindestens einen Registersatz des Prozessors. Der Scheduler kann ihn anhalten und wieder starten. Prozesse erhalten kontrollierten Zugriff auf einen Teil des Speichers sowie auf Ein- und Ausgabekanäle für Dateien oder Geräte. Sie kommunizieren mit dem Kernel über Systemaufrufe. Ein Programm läuft normalerweise in genau einem, ausnahmsweise in mehreren Prozessen; auch Systemdienste können in Prozessen laufen.

Können auf einem Kernel mehrere Prozesse gleichzeitig laufen, handelt es sich um einen Multitasking-Kernel. Tatsächlich bearbeitet eine CPU normalerweise nur einen Prozess zur selben Zeit, außer bei Mehrkernsystemen; der Scheduler organisiert den Wechsel.

Ergänzt eine Zugriffsverwaltung für Prozesse und Geräte Multitasking, entsteht ein Multiuser- oder Mehrbenutzersystem. Mehrere Benutzer können gleichzeitig arbeiten, müssen sich authentifizieren und besitzen jeweils Prozesse mit eingeschränkten Rechten. Der Kernel trennt Prozesse und damit Benutzer voneinander. Auch heutige Desktopsysteme sind meist mehrbenutzerfähig: Neben dem direkt arbeitenden Nutzer können andere Nutzer Programme von anderen Rechnern ausführen; Systemdienste laufen zudem unter anonymen Benutzern. Eigene, eingeschränkte Rechte für Dienste und Benutzer erhöhen die Systemsicherheit.

Start des Kernels

Beim Booten wird der Kernel nach einem möglichen Hardwarecheck und einer teilweisen Geräteinitialisierung durch einen Bootloader in den Speicher geladen und gestartet. Danach initialisiert der Kernel die Geräte vollständig und startet einen weiteren Prozess.

Bei MS-DOS ist dies ein Kommandozeileninterpreter. Komplexere Betriebssysteme starten eine bestimmte Anwendung. Auf unixoiden Systemen ist es normalerweise init, das alle Systemdienste lädt und gegebenenfalls nach einem Login eine grafische Benutzeroberfläche startet.

Lernvideos zu Kernel (Betriebssystem)

Weiterlesen

Betriebssystem Betriebssysteme bestehen in der Regel aus einem Kernel (deutsch: Kern), der die Hardware des Computers verwaltet, sowie speziellen Programmen, die beim Start … Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Schichtenarchitektur Ein Beispiel für eine Architektur mit sieben Schichten bietet das ISO/OSI-Modell, das in der Abbildung rechts dargestellt ist. Das OSI-Modell beschreibt … Informatik Als einfache Rechengeräte leisteten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruierte Blaise Pascal eine mechanische … Softwaretechnik ... Agile Softwareentwicklung. Die Softwaretechnik umfasst den gesamten Prozess von der Identifizierung des Bedarfs bis hin zur Inbetriebnahme einer konkreten … Multitasking Der Begriff Multitasking [ˌmʌltiˈtɑːskɪŋ] (engl.) bzw. Mehrprozessbetrieb bezeichnet die Fähigkeit eines Betriebssystems, mehrere Aufgaben (Tasks) … Speicherverwaltung Das Verwalten der höheren Ebenen der Speicherhierarchie wie beispielsweise des Cache-Speichers wird dagegen üblicherweise von der Hardware vorgenommen. Prozess (Informatik) Ein Prozess ist die Ablaufumgebung für ein Programm auf einem Rechnersystem sowie der darin eingebettete Binärcode des Programmes während der Ausführung. Ein … Prozessor Aufbau und Funktionale Einheiten · Hauptprozessor (CPU) und Mehrprozessorkerne · Steuer- bzw. Leitwerk · Rechenwerk und Register · Datenleitungen · Caches und MMU. Gerätetreiber Dazu kommuniziert der Treiber auf der einen Seite meist direkt mit dem Gerät und tauscht Steuersignale und Daten mit dem Gerät aus, über den Kommunikationsbus ( … Ressource Eine Ressource kann ein materielles oder immaterielles Gut sein. In Betriebswirtschaft, Volkswirtschaft und Organisationen werden darunter meist Betriebsmittel, … Festplattenlaufwerk Ein Festplattenlaufwerk (englisch hard disk drive, Abkürzung HDD), früher auch Festplatten-Speichersystem oder Festplatten-System, oft auch als Festplatte …