www.wikidata.de-de.nina.az
Ein Mikrokernel auch µ Kernel oder Mikrokern ist ein Betriebssystemkern der im Gegensatz zu einem monolithischen Kernel nur grundlegende Funktionen erfullt in der Regel sind dies Speicher und Prozessverwaltung sowie Grundfunktionen zur Synchronisation und Kommunikation Alle weiteren Funktionen werden als eigene Prozesse Server die mit den nachfragenden Programmen Client kommunizieren oder als Programmbibliothek welche von den nachfragenden Programmen eingebunden wird im Benutzer Modus implementiert Struktur von monolithischem Kernel Mikrokernel und Hybridkernel im VergleichMikrokerne sind besonders geeignet zur Implementierung verteilter Betriebssysteme da die Betriebssystem Komponenten ausgelagert werden konnen Inhaltsverzeichnis 1 Entwicklung 2 Vorteile 3 Nachteile 4 Bekannte Mikrokernel 5 Betriebssysteme die auf Mikrokerneln aufsetzen 6 EinzelnachweiseEntwicklung BearbeitenDurch mangelhaftes Design einiger fruherer Implementierungen haben Mikrokerne den Ruf eher langsam und unubersichtlich zu sein Jedoch gibt es inzwischen Kernel die durch Abbau weiterer Funktionalitat aber auch durch starke Optimierung z T mit Verlust der Portabilitat einen hohen Datendurchsatz erreichen und so an Interesse gewinnen So arbeitet L4 lediglich mit zehn Befehlen Auf der PowerPC Architektur einer RISC Architektur waren extrem leistungsfahige Mikrokerne schon fruher realisierbar da hier die Kontextwechsel wesentlich schneller durchgefuhrt werden konnten als auf komplexeren Architekturen CISC beispielsweise x86 Vorteile BearbeitenSeparierte Komponenten Einzelne Bestandteile des Betriebssystems konnen beliebig ausgetauscht werden ohne dass dadurch andere Teile beeintrachtigt werden Ein klares Schnittstellen Design hilft dabei Der Absturz einer einzelnen Komponente fuhrt nicht zwangslaufig zum Zusammenbruch des gesamten Systems Treiber im Benutzer Modus Die Geratetreiber laufen zusammen mit einem Anwendungsprogramm im Benutzer Modus im Gegensatz zu Monolithischen Kerneln bei denen alle Treiber im privilegierten Modus laufen Dies hat den Vorteil dass die Zugriffsrechte der Treiber einzeln bestimmt werden konnen Geratetreiber brauchen nicht im Kernel zu sein und sind meist so konzipiert dass sie auch mit Benutzerrechten im Gegensatz zu root Rechten oder gar im Kernel ausgefuhrt werden konnen Gleiches gilt fur Dateisystem Treiber etc sodass z B FTP und WebDAV direkt auf Dateisystem Ebene implementiert werden konnen ohne das Sicherheitsrisiko zu erhohen d h ein Server lasst sich genauso benutzen wie ein lokales Verzeichnis von allen Anwendungen aus Zur Treiber Verwendung genugt es als normaler Benutzer mit Zugriffsrechten auf die benotigte Hardware angemeldet zu sein Es ist keine Anderung von Systemdateien oder ein Neustart des Systems notig Auch konnen problemlos Hintergrunddienste services gestartet werden die z B unter Linux eine Installation in den Kernel mit root Rechten und speziell fur diesen Kernel kompiliert erfordern wurden Geringere Trusted Computing Base Der Kernel Code dem ein Nutzer vertrauen muss ist im Vergleich zu monolithischen Betriebssystemen relativ klein und somit einfacher zu verifizieren Nachteile BearbeitenGeschwindigkeit Da das auf dem Mikrokern laufende Betriebssystem aus vielen einzelnen Nutzer Prozessen besteht sind wesentlich mehr Kontextwechsel notig als bei monolithischen Betriebssystemen Dadurch ist ein Mikrokern in der Regel langsamer als ein monolithischer Fur L4 wurde allerdings nachgewiesen dass L4Linux nur geringfugig 5 10 langsamer ist als Linux 1 Synchronisation Fur die Leistung eines Mikrokern Systems ist die Synchronisation der vielen Nutzer Prozesse von zentraler Bedeutung Die koordinierenden Kernel Prozesse sind komplex und verhaltnismassig schwierig zu optimieren Hardware Zugriff Einige Betriebssystemaufrufe wie etwa physischer I O Zugriff benotigen den privilegierten Kernel Modus Normalen Prozessen sind direkte Zugriffe auf die Hardware aus Sicherheitsgrunden untersagt Um das zu umgehen konnen ausgewahlte Module wie der I O Treiber im Kernel Modus betrieben werden Alternativ kann der Mikrokern um elementare I O Funktionen erweitert werden die den Kernel Modus erfordern Auf diese Funktionen darf nur der I O Treiber zugreifen der im Benutzer Modus Mechanismen wie Autorisation implementiert Beide Losungen weichen das Mikrokern Konzept auf Bekannte Mikrokernel BearbeitenMach GNU Mach Kernschnittstelle L4 Implementierungen Fiasco L4Ka Pistachio L4Ka Hazelnut Quark KeyKOS EROS Coyotos Minix Nucleus SCIOPTABetriebssysteme die auf Mikrokerneln aufsetzen BearbeitenAmigaOS Amoeba ChorusOS GNU Hurd Google Fuchsia Harmony OS von Huawei ab Version 2 0 geplant fur 2020 L4Linux Minix MkLinux MorphOS PC GEOS PikeOS QNX Neutrino Singularity Symbian OS Symobi verwendet den Sphere Mikrokern Tru64 UNIX ENEA Ose ThreadX VMware ESXiWindows NT ist auch wenn dies oftmals falschlicherweise behauptet wird kein Mikrokernelsystem Es gehort zur Gruppe der Hybridkernel Andrew S Tanenbaum schreibt hierzu Windows NT 3 1 war ein halbherziger Versuch eines Mikrokernelsystems aber es wurde nicht richtig gemacht und die Leistung war nicht gut genug auf der Hardware der fruhen 1990er Jahre darum gab man die Idee fur eine Weile auf 2 Auch XNU der Kernel des Betriebssystems Darwin von Apple ist ein Mach Hybridkernel Darwin dient als Kernbetriebssystem englisch Core Operating System von macOS und davon abgeleiteten Systemen wie u a iOS Einzelnachweise Bearbeiten Hermann Hartig Michael Hohmuth Jochen Liedtke Jean Wolter Sebastian Schonberg The performance of m kernel based systems In Proceedings of the sixteenth ACM symposium on Operating systems principles SOSP 97 ACM New York 1997 ISBN 0 89791 916 5 S 66 77 doi 10 1145 268998 266660 tu dresden de Windows NT 3 1 was a half hearted attempt at a microkernel system but it wasn t done right and the performance wasn t good enough on the hardware of the early 1990s so it gave up on the idea for a while http www cs vu nl ast reliable os Kerneltypen Betriebssystem Monolithischer Kernel Hybridkernel Mikrokernel Exokernel Normdaten Sachbegriff GND 4684244 5 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Mikrokernel amp oldid 234186562