Microkernel: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
K Textersetzung - „category:“ durch „Kategorie:“  | 
				Keine Bearbeitungszusammenfassung  | 
				||
| Zeile 65: | Zeile 65: | ||
* ThreadX  | * ThreadX  | ||
[[Kategorie:Kernel]]  | [[Kategorie:Kernel/Architketur]]  | ||
Aktuelle Version vom 1. August 2024, 09:31 Uhr
Ein Mikrokernel, ist ein Betriebssystemkern, der im Gegensatz zu einem monolithischen Kernel nur grundlegende Funktionen erfüllt wie Speicher- und Prozessverwaltung sowie Grundfunktionen zur Synchronisation und Kommunikation. Alle weiteren Funktionen werden als eigene Prozesse im Benutzer-Modus implementiert.
Vorteile
Separierte Komponenten:
- Einzelne Bestandteile des Betriebssystems können beliebig ausgetauscht werden, ohne dass dadurch andere Teile beeinträchtigt werden
 - Absturz einer einzelnen Komponente führt nicht Zusammenbruch des Systems
 
Treiber im Benutzer-Modus:
- Die Gerätetreiber laufen zusammen mit einem Anwendungsprogramm im Benutzer-Modus
 - Die Zugriffsrechte der Treiber können einzeln bestimmt werden
 - Gerätetreiber brauchen nicht im Kernel zu sein und sind meist so konzipiert, dass sie auch mit Benutzerrechten ausgeführt werden können
 - Zur Treiber-Verwendung genügt es, als normaler Benutzer mit Zugriffsrechten auf die benötigte Hardware angemeldet zu sein
 - Es ist keine Änderung von Systemdateien oder ein Neustart des Systems nötig
 
kleine 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
Geschwindigkeit:
- Da das auf dem Mikrokern laufende Betriebssystem aus vielen einzelnen Nutzer-Prozessen besteht, sind wesentlich mehr Kontextwechsel nötig als bei monolithischen Betriebssystemen
 - Dadurch ist ein Mikrokern in der Regel langsamer als ein monolithischer
 
Synchronisation:
- Für die Leistung eines Mikrokern-Systems ist die Synchronisation der vielen Nutzer-Prozesse am wichtigsten
 - Die koordinierenden Kernel-Prozesse sind komplex und schwierig zu optimieren.
 
Hardware-Zugriff:
- Betriebssystemaufrufe, wie physischer I/O-Zugriff, diesen ist direkte Zugriffe auf die Hardware aus Sicherheitsgründen untersagt und benötigen dadurch den Kernel-Modus.
- Um das zu umgehen, können ausgewählte Module wie der I/O-Treiber im Kernel-Modus betrieben werden.
 - Alternativ kann der Mikrokern um elementare I/O-Funktionen erweitert werden
 
 
Beide Lösungen weichen das Mikrokern-Konzept auf.
Bekannte Microkernel
- Mach
- GNU Mach
 
 - Kernschnittstelle L4, Implementierungen:
- Fiasco
 - L4Ka: :Pistachio
 - L4Ka: :Hazelnut
 
 - Quark
 - KeyKOS, EROS, Coyotos
 - Minix
 - Nucleus
 
Betriebssysteme, die auf Mikrokernen aufsetzen
- AmigaOS
 - Amoeba
 - ChorusOS
 - GNU/Hurd
 - Google Fuchsia
 - Harmony OS
 - L4Linux
 - Minix
 - MkLinux
 - MorphOS
 - PC/GEOS
 - PikeOS
 - QNX Neutrino
 - SCIOPTA
 - Singularity
 - Symbian OS
 - Symobi
 - Tru64 UNIX
 - ENEA Ose
 - ThreadX