| Zeile 1: | Zeile 1: | ||
| − | Der '''Kernel''', auch '''Betriebssystemkernel''' genannt, ist der zentraler Bestandteil und die Grundlage eines jeden [[Betriebssystem | Betriebssystems]]. Auf ihn bauen alle anderen Bestandteile des Betriebssystems wie Module, Treiber oder Anwendungen auf. Je nach Anwendungszweck wurden verschiedene Kernelarten mit individuellen Vor- und Nachteilen entwickelt. Bekannte Betriebssystemkernel sind u.a. der [[Linux-Kernel]] oder [[NTOSKRNL]] (Windows NT Kernel). | + | Der '''Kernel''', auch '''Betriebssystemkernel''' genannt, ist der zentraler Bestandteil und die Grundlage eines jeden [[Betriebssystem | Betriebssystems]]. Auf ihn bauen alle anderen Bestandteile des Betriebssystems wie Module, [[Treiber]] oder Anwendungen auf. Je nach Anwendungszweck wurden verschiedene Kernelarten mit individuellen Vor- und Nachteilen entwickelt. Bekannte Betriebssystemkernel sind u.a. der [[Linux-Kernel]] oder [[NTOSKRNL]] ([[Windows]] NT Kernel). |
== Aufgaben eines Kernels == | == Aufgaben eines Kernels == | ||
| Zeile 7: | Zeile 7: | ||
* Prozessverwaltung | * Prozessverwaltung | ||
* Geräte- und Hardwareverwaltung (evt. mit Hilfe einer [[HAL]]) | * Geräte- und Hardwareverwaltung (evt. mit Hilfe einer [[HAL]]) | ||
| − | * Schnittstelle für Treiber oder Anwendungsprogramme | + | * Schnittstelle für [[Treiber]] oder Anwendungsprogramme |
| − | * | + | * [[Dateisystem]]verwaltung |
== Kernelarten == | == Kernelarten == | ||
| − | Folgenden Kernelarten | + | Folgenden Kernelarten exirstieren: |
=== Monolithischer Kernel === | === Monolithischer Kernel === | ||
| − | Als monolithischen Kernel bezeichnet man einen Betriebssystemkernel, der nicht nur die typischen Aufgaben eines solchen durchführt, sondern auch gleich Treiber für Hardware und andere Funktionen mit sich bringt. | + | Als monolithischen Kernel bezeichnet man einen Betriebssystemkernel, der nicht nur die typischen Aufgaben eines solchen durchführt, sondern auch gleich [[Treiber]] für [[Hardware]] und andere Funktionen mit sich bringt. |
| − | Dadurch müssen nicht erst Treiber oder Module nachgeladen werden und auch eine Schnittstelle ist nicht erforderlich, was einen deutlichen Geschwindigkeitsvorteil mit sich bringt. Jedoch ist ein solcher Kernel nicht nur unflexibler, sondern auch deutlich fehleranfälliger und abgestürzte Module können nicht ohne weiteres neu gestartet werden. | + | Dadurch müssen nicht erst [[Treiber]] oder Module nachgeladen werden und auch eine Schnittstelle ist nicht erforderlich, was einen deutlichen Geschwindigkeitsvorteil mit sich bringt. Jedoch ist ein solcher Kernel nicht nur unflexibler, sondern auch deutlich fehleranfälliger und abgestürzte Module können nicht ohne weiteres neu gestartet werden. Der [[Linux]]kernel ist ein Monolithischer Kernel. |
=== Mikrokernel === | === Mikrokernel === | ||
| − | Der Mikrokernel hat meist deutlich weniger Funktionen als ein monolithischer Kernel, da er nur die wesentlichen Funktionen bereitstellt. Treiber und weitere Funktionen werden über zusätzliche Module hinzugefügt, welche auch als eigenständige Prozesse laufen können und gegenüber dem Kernel sicher abgeschottet sind. Somit kann ein fehlerhafter Treiber nicht das ganze [[Betriebssystem]] zum Absturz bringen und einfach neu gestartet werden. | + | Der Mikrokernel hat meist deutlich weniger Funktionen als ein monolithischer Kernel, da er nur die wesentlichen Funktionen bereitstellt. [[Treiber]] und weitere Funktionen werden über zusätzliche Module hinzugefügt, welche auch als eigenständige Prozesse laufen können und gegenüber dem Kernel sicher abgeschottet sind. Somit kann ein fehlerhafter [[Treiber]] nicht das ganze [[Betriebssystem]] zum Absturz bringen und einfach neu gestartet werden. |
=== Makrokernel === | === Makrokernel === | ||