Key points are not available for this paper at this time.
Die Interprozesskommunikation (IPC) muss schnell und effektiv sein, andernfalls werden Programmierer Remote-Verfahrenaufrufe (RPC), Multithreading und Multitasking nicht angemessen nutzen. Daher ist die IPC-Leistung für moderne Betriebssysteme, insbesondere μ-Kernel-basierte Systeme, von entscheidender Bedeutung. Überraschenderweise zeigen die meisten μ-Kernel eine schlechte IPC-Leistung, die typischerweise 100 μs für die Übertragung einer kurzen Nachricht auf einem modernen Prozessor erfordert, der mit 50 MHz Taktfrequenz läuft. Im Gegensatz dazu erreichen wir 5 μs; eine zwanzigfache Verbesserung. Dieses Papier beschreibt die verwendeten Methoden und Prinzipien, beginnend mit dem architektonischen Design bis hin zur Codierungsebene. Es gibt keinen einzelnen Trick, um diese hohe Leistung zu erzielen; vielmehr ist ein synergetischer Ansatz im Design und in der Implementierung auf allen Ebenen erforderlich. Die Methoden und ihre Synergie werden veranschaulicht, indem sie auf ein konkretes Beispiel angewendet werden, den L3 μ-Kernel (ein Betriebssystem in Industriequalität, das täglich an mehreren hundert Standorten verwendet wird). Die zentralen Ideen sind, das gesamte Kernel-Design durch die IPC-Anforderungen zu leiten und das Konzept des virtuellen Adressraums innerhalb des μ-Kernels selbst stark zu nutzen. Wie das L3-Experiment zeigt, sind signifikante Leistungssteigerungen möglich: Im Vergleich zu Mach liegen sie zwischen dem Faktor 22 (8-Byte-Nachrichten) und 3 (4-Kbyte-Nachrichten). Obwohl hardware-spezifische Details sowohl das Design als auch die Implementierung beeinflussen, sind diese Techniken auf die gesamte Klasse konventioneller allgemeiner von-Neumann-Prozessoren anwendbar, die virtuelle Adressen unterstützen. Darüber hinaus ist der erforderliche Aufwand relativ gering; beispielsweise können die speziellen Teile des μ-Kernels in einem einzigen mittelgroßen Modul konzentriert werden.
Jochen Liedtke (Fr,) hat diese Frage untersucht.