Navigation

Springe zum Hauptinhalt
Fakultät für Informatik
Informatik-Kolloquien

122. Informatik-Kolloquium

Herr Michael Peter

TU Dresden




Core Executive - Entwurf einer Mikrokernschnittstelle




Montag, 25.6.2007
13.45 Uhr, Raum 1/336

Alle interessierten Personen sind herzlich eingeladen!


Abstract:

Mikrokerne sind minimale Betriebssystemkerne, die nur essentielle Dienste wie Scheduling, Adressraumverwaltung und eine CPU-Abstraktion zur Verfügung stellen. Komplexere Dienste wie Dateisysteme, Gerätetreiber und Netzwerkstacks werden von in Adressräumen gekapselten Servern implementiert. Die Vorteile dieser Organisation im Vergleich zu monolithischen Kernen ist die Isolation von Komponenten, die Flexibilität und Strukturiertheit bietet und damit die Möglichkeit der Anpassung der Trusted Computing Base an die Anforderungen des jeweiligen Systems. Die sich zwangsläufig erhöhende Zahl von Kontextwechseln resultiert potentiell in Leistungseinbußen.

Mikrokerne der zweiten Generation legten deshalb besonderen Wert auf die Leistungsfähigkeit der Interprocess Communication (IPC). Tatsächlich gelang es auf diesem Weg, die Leistungsfähigkeit von Mikrokernen zu verbessern und diese auf diversen Gebieten zu etablieren. Diese Verbreitung ließ bisher im Schatten der IPC-Performance stehende Aspekte stärker in den Vordergrund treten. Die Verwendung in eingebetteten Systemen erfordert in vielen Fällen ein voraussagbares Echtzeitverhalten. Kontrolle über Kommunikation ist in sicherheitssensitiven Anwendungen relevant. Sehr viele Anwendungsszenarien aus den unterschiedlichsten Gebieten profitieren von der Wiederverwendung existierender Software, die allerdings oftmals nicht vertrauenswürdig ist und deshalb gekapselt werden muss. Die Verwaltung des Arbeitsspeichers wurde aus dem Mikrokern mithilfe so genannter rekursiver Adressräume auf die Nutzerebene verlagert. Diese Herangehensweise ist leider für die Verwaltung des Kernspeichers, der zur Implementierung der Mikrokernabstraktionen benötigt wird, erheblich komplexer. Viele Mikrokerne verwenden dafür eine pragmatische, statische Lösung, die allerdings anfällig für Denial-of-Service-Angriffe ist.

Bei diversen Versuchen der Erweiterung existierender Kerne konnte beobachtet werden, wie schwierig die Adressierung weiterer Aspekte ist, wenn die Prämisse dabei weiterhin eine maximale Optimierung der IPC-Operationen ist. Oftmals gelang es neben der IPC-Leistung nur noch einen weiteren Aspekt zu verbessern. Häufig waren sogar Verschlechterungen bestimmter Parameter zu beobachten. Wir glauben, dass durch ein Festhalten an bisherigen Mikrokernabstraktionen das Ausschöpfen des Entwurfsspielraums verhindert wird und es in Konsequenz zu Nachteilen, wie Anfälligkeit für DoS-Angriffe, fehlender Funktionalität im Bereich des Schedulings und Leistungseinbussen aufgrund schlecht nutzbarer Abstraktionen kommt.

In dem Vortrag wird ein neuer Entwurf einer Mikrokernschnittstelle vorgestellt, in dem Wert auf eine ausgeglichene Berücksichtigung relevanter Anforderungen wie Minimierung des Kernressourcenverbrauchs sowie eine flexible und effiziente Abstraktion für physische Prozessoren gelegt wird. Nach der Vorstellung der Prozessorabstraktion in Core Executive wird gezeigt, wie darauf ein Service Framework, das Unterstützung für Informationsflusskontrolle bietet, implementiert werden kann.

Presseartikel