Kernel ist die zentrale Komponente eines Betriebssystems, die die Operationen von Computer und Hardware verwaltet. Er verwaltet im Wesentlichen die Operationen des Speichers und der CPU-Zeit. Er ist die Kernkomponente eines Betriebssystems. Der Kernel fungiert als Brücke zwischen den Anwendungen und der Datenverarbeitung, die auf der Hardwareebene mit Hilfe von Interprozesskommunikation und Systemaufrufen durchgeführt wird.
Kernel wird beim Laden eines Betriebssystems zuerst in den Speicher geladen und verbleibt dort, bis das Betriebssystem wieder heruntergefahren wird. Er ist für verschiedene Aufgaben wie Festplatten-, Task- und Speicherverwaltung zuständig.
Er entscheidet, welcher Prozess dem Prozessor zur Ausführung zugewiesen werden soll und welcher Prozess im Hauptspeicher zur Ausführung gehalten werden soll. Er fungiert im Wesentlichen als Schnittstelle zwischen Benutzeranwendungen und Hardware. Das Hauptziel des Kernels ist es, die Kommunikation zwischen der Software, d.h. den Anwendungen auf der Benutzerebene, und der Hardware, d.h., CPU und Festplattenspeicher.
Ziele des Kernels:
- Die Kommunikation zwischen User-Level-Applikation und Hardware herzustellen.
- Über den Status der eingehenden Prozesse zu entscheiden.
- Zur Steuerung der Festplattenverwaltung.
- Zur Steuerung der Speicherverwaltung.
- Zur Steuerung der Task-Verwaltung.
Typen von Kernel :
1. Monolithischer Kernel –
Es ist einer der Kernel-Typen, bei dem alle Betriebssystemdienste im Kernel-Space arbeiten. Er hat Abhängigkeiten zwischen den Systemkomponenten. Er hat riesige Codezeilen, die komplex sind.
Beispiel :
Unix, Linux, Open VMS, XTS-400 etc.
- Vorteil:
Er hat eine gute Leistung. - Nachteil :
Es hat Abhängigkeiten zwischen Systemkomponenten und Codezeilen in Millionenhöhe.
2. Micro Kernel –
Es ist ein Kernel-Typ, der einen minimalistischen Ansatz hat. Er hat virtuellen Speicher und Thread-Scheduling. Er ist stabiler mit weniger Diensten im Kernelspace. Der Rest befindet sich im Userspace.
Beispiel:
Mach, L4, AmigaOS, Minix, K42 etc.
- Vorteil:
Es ist stabiler. - Nachteil:
Es gibt viele Systemaufrufe und Kontextwechsel.
3. Hybrider Kernel –
Es ist die Kombination aus monolithischem Kernel und Mircrokernel. Er hat die Geschwindigkeit und das Design eines monolithischen Kernels und die Modularität und Stabilität eines Mikrokernels.
Beispiel:
Windows NT, Netware, BeOS etc.
- Vorteil:
Es kombiniert sowohl monolithischen Kernel als auch Mikrokernel. - Nachteil:
Es ist immer noch ähnlich wie ein monolithischer Kernel.
4. Exo-Kernel –
Es ist die Art von Kernel, die dem End-to-End-Prinzip folgt. Er hat so wenig Hardware-Abstraktionen wie möglich. Er weist den Anwendungen physische Ressourcen zu.
Beispiel:
Nemesis, ExOS etc.
- Vorteil:
Es hat die wenigsten Hardware-Abstraktionen. - Nachteil:
Es gibt mehr Arbeit für Anwendungsentwickler.
5. Nano-Kernel –
Es ist die Art von Kernel, die Hardware-Abstraktion bietet, aber ohne Systemdienste. Micro Kernel hat auch keine Systemdienste, deshalb sind Micro Kernel und Nano Kernel analog.
Beispiel:
EROS etc.
- Vorteil :
Es bietet Hardware-Abstraktionen ohne Systemdienste. - Nachteil :
Es ist ziemlich gleich wie der Micro-Kernel und wird daher weniger genutzt.