Um mit diesen Mikrokernen effektiv arbeiten und entwickeln zu können, steht momentan die Schaffung einer stabilen und benutzbaren Unix-Emulation auf dem Mikrokern L4 im Vordergrund.
Traditionelle Unix-Emulationen auf Mikrokernen, ob als Verlagerung eines monolithischen Kerns in einen einzigen Server auf Nutzer-Ebene oder realisiert durch mehrere kooperierende Server, erreichten im allgemeinen nicht die Leistung vergleichbarer monolithischer Systeme.
Um diese Leistungsverluste zu umgehen, wurden in der Vergangenheit zwei Ansätze verfolgt:
Der damit erzielte Leistungsgewinn geht natürlich zu Lasten der Systemsicherheit, weil der Mikrokern nun nicht mehr vor den Servern geschützt ist; daher kommt dieser Ansatz nur für vertrauenswürdige Server in Frage.
Der wichtigste Vertreter dieser Kategorie ist QNX [3].
Diese Arbeit geht davon aus, daß der Grund für die Leistungsverluste im wesentlichen in der Verwendung ineffizienter Mikrokerne besteht. Da nun mit L3 und L4 sehr effiziente Mikrokerne zur Verfügung stehen [4], soll hier ein neuer Weg versucht werden, um zu einer effizienten Unix-Emulation auf einem Mikrokern zu gelangen:
Um diese Unix-Emulation so bald wie möglich nutzbar zu machen, bot sich die Portierung einer bereits verfügbaren Unix-Implementation an. Nachdem sich die Portierung eines Single-Servers vom Mikrokern Mach auf L3 als nicht sinnvoll erwies [5], erwogen wir die Portierung eines monolithischen Unix-Systems auf L4 (L4 ist inzwischen einsatzbereit).
Da kürzlich die Portierung des Linux-Kerns auf den OSF-Mach-Mikrokern
durch die OSF bekannt wurde [1], entschlossen wir
uns, ebenfalls den Linux-Kern als Basis für unsere Arbeit zu benutzen,
um auf Erfahrungen der OSF-Gruppe zurückgreifen zu können. 1.1 Über dieses Dokument
Im nächsten Kapitel stellen wir zunächst Technologien zur Unix-Emulation auf Mikrokernen sowie die Betriebssysteme L4 und Linux vor.
Ausgehend von dieser Betrachtung entwerfen wir in Kapitel [hier] einen Weg zur Portierung des Linux-Kerns auf den
Mikrokern L4. Die folgenden Kapitel haben dann unsere Implementation
und deren Leistung zum Thema. Abschließend fassen wir in Kapitel [hier] das Erreichte zusammen. 1.2 Danksagung
Ich möchte mich an dieser Stelle herzlich bei der Gruppe Betriebssysteme der TU Dresden für die gewährte Unterstützung und Teilnahme an diesem Projekt bedanken, insbesondere bei Prof. Hermann Härtig, Robert Baumgartl, Martin Borriss, Sebastian Schönberg und Jean Wolter. Mein Dank gilt auch Dr. Jochen Liedtke von der GMD, dem ich viele fruchtbare Diskussionen verdanke.
Außerdem möchte ich mich bei meinen Freunden bedanken, die mir mein Studentenleben versüßten. Da es zu viele zum Aufzählen sind, muß an dieser Stelle ihr Hash-Value ausreichen:
MD5 (freunde) = 36f085284392f640f67c190bc112caa8