Wissen, Kernel der Betriebssysteme

317 Wörter [ 1 Weblinks ] - Aktualisiert: 2023-12-22 Seite erstellt: 2001-09-23 [SB]

 


Betriebssystemkern



Mikrokernel Ein Mikrokernel ist generell stark modularisiert aufgebaut. Der eigentliche Systemkern kümmert sich um die Kommunikationskanäle (Message Passing) zwischen den User Mode Modulen für die funktionellen Aufgaben. Der Kernel enthält die wichtigsten Funktionen wie die Prozessverwaltung (Tasks and Threads), Scheduler, virtuelle Speicherverwaltung und Interprozesskommunikation (IPC). Der Kernel wird meist in den Hochsprachen wie C oder C++ programmiert. Ein weiterer Vorteil ist die Portierung auf andere Plattformen wie z.B. Kleinstgeräte. Besonders seine Skalierfähigkeit macht ihn zur ersten Wahl bei massiv-parallel ausgelegten Systemen. Dieser Kernelaufbau ist beispielsweise für BeOS und Minix typisch. Echtzeitbetriebssysteme sind mit einem Mikrokernel leicht zu realisieren, ist der Kernel doch durch die nur notwendigsten enthaltenen Funktionen relativ klein gehalten. Beispiel dafür ist das QNX Betriebssystem.
Zusammengefasst liegen die Vorzüge in der Flexibilität, kompakten Größe, übersichtlichen Organisation und leichteren Skalierbarkeit. Die Nachteile wirken sich auf eine geringfügige Verzögerung durch den Zusatzaufwand für die Systemaufrufe aus und eine aufwendigere Programmierung der Kommunikationskanäle.

Die Carnegie Mellon University entwickelte von 1985 bis 1994 einen Mikrokernel, der bis heute in vielen Betriebssystemen Verwendung findet. Das Projekt Mach schuf diese Referenz. Übernommen wurde das Konzept in NeXT OS, OSF/1, OS/2 uvm. Die meisten Implementationen weichen vom typischen Mach-Kernel-Design ab. Der Kernel in NEXTSTEP sieht verschiedene Erweiterungen vor. IBM verwendet für ihr Workplace OS bereits die Version 3.0 des Mach Mikrokernel. Eine weitere Abstraktion der Referenz ist der Windows NT Kernel, dem so genannten Executive, der eine Mischung aus Mikrokernel-Architektur und Schichtenmodell darstellt.

Monolithischer Kernel Der monolithische Kernel stellt eine einzige ausführbare Datei dar, in der alle systemnahen Komponenten vereint wurden. Treiber, Prozess- Speicher- und Dateisystemverwaltung befinden sich gemeinsam in einem großen Kernel. In begrenztem Umfang lassen sich Module dynamisch nachladen, wie z.B. Netzwerk- oder SCSI-Treiber. Typische Betriebssysteme sind MS-DOS, Multics, Unix und Linux. Der Kernel läuft im privilegierten Kernel-Modus der CPU ab, einzelne Bestandteile wie etwa Treiber lassen sich in Module auslagern. Das Linux Betriebssystem nutzt diese Technik.

 




Weblinks

[ Mach Kernel ]