Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

16.08.1996 - 

Garantierte Ressourcen für Multimedia

Etappensieg in der Microkernel-Technik

Größter Konkurrent zu L4 ist eine Echtzeitvariante des Kernels "Mach", der in seiner ursprüng- lichen Form an der Carnegie Mellon University entwickelt wurde. Mit ihm arbeitete auch die Open Software Foundation (OSF). Die Entwicklung eines vom Restsystem getrennten Mach-Kernels für OSF/1 wurde jedoch im letzten Jahr mangels Interesse der Mitglieder auf Eis gelegt. Auch IBM kann auf langjährige Erfahrungen mit Mach verweisen. Doch ein bis Anfang dieses Jahres geplanter Mach-3-Kernel, auf dem die seinerzeit noch als OS-Personalities bezeichneten Betriebssystem-Komponenten von OS/400, OS/2 und Linux laufen sollten, ist bislang nicht fertiggestellt. Einen gewissen Erfolg brachten Big Blues Experimente mit Mach für Multimedia-Anwendungen. Eine daraus resultierende Realtime-Variante des Kerns erwies sich jedoch als zu langsam, um die Technik zum weltweiten Erfolg zu führen.

Big Blues Mach-Version gilt ebenso wie der Echtzeitkern "Chorus", den die französische Chorus Systems bereits im Telekommunikationsbereich etablieren konnte, als zu mächtig und nicht flexibel genug. Diese Meinung vertreten die deutschen Wissenschaftler Jochen Liedtke, GMD-Mitarbeiter und L4-Erfinder, sowie dessen Entwicklungspartner Hermann Härtig, Leiter des Lehrstuhls für Betriebssysteme an der TU Dresden. Unterschiedlicher Auffassung sind die konkurrierenden Forschergruppen zum Beispiel darin, ob und welche Betriebssystem-Funktionen in den Microkernel integriert werden sollen. In Mach etwa wurden aus Performance-Gründen einige Betriebssystem-spezifische Treiber eingebunden, wodurch der Kern einerseits seine Neutralität verlor und außerdem auf eine Größe von rund 300 KB anwuchs. Dies entspreche nicht dem eigentlichen Konzept, wonach der Mikrokern auf möglichst wenige, Betriebssystem-unabhängige Basisfunktionen reduziert sein sollte, so die deutschen Experten.

Ganz anders deshalb die jetzt veröffentlichte deutsche Lösung: Hier mußte laut Härtig das bezüglich des Betriebssystems neutrale Mikrokern-Konzept nicht aufgegeben werden.

Der lediglich 12 KB große Kern L4 konnte unverändert für die Linux-Portierung übernommen werden. Als großer Erfolg gilt darüber hinaus, daß selbst an Linux nur wenige Modifikationen notwendig waren. Angepaßt wurden lediglich Hardware-abhängige Bereiche (Interrupt, Clock, Process, Pagetables) und die Systemcalls (siehe Grafik).

Unveränderte und modifizierte Bereiche des Linux-Kerns sind nun als "Linux-Kernel-Server" zusammengefaßt. Prinzipiell ließe sich aufgrund der Neutralität von L4 ein vergleichbarer Server auch für andere Betriebssysteme schaffen, heißt es bei den Wissenschaftlern. Teilweise aus dem Linux-Kern ausgelagert wurde die Hauptspeicherverwaltung (externe Pager), die sich im Modell der Dresdener zwischen dem Server und dem Microkernel L4 befindet. Der Linux-Kern ist nur noch für den Teil der Hauptspeicherverwaltung zuständig, der ihm vom Pager zugebilligt wird. Entscheidend bei dieser Konstellation ist, daß weder Server noch Pager im Hardware-Kernel-Mode als Betriebssystem laufen, sondern als Benutzerprogramme (im User-Level) auf den Microkernel zugreifen. Lediglich L4 wird mit dem höchstem Sicherheits-Level des Ring 0 gefahren.

Unterschiede bei der Performance

L4 selbst bietet typische Microkernel-Funktionen wie die Möglichkeit, Adreßräume zu bilden, in denen jeweils mehrere Threads (parallele Prozesse) ablaufen. Derartige Operationen sind zum Beispiel die von den Pagern empfangenen Aufrufe bezüglich des benötigten Speicherraums. Die Geschwindigkeit, mit der die einzelnen Threads untereinander kommunizieren, gilt dabei als die wichtige Kenngröße unter den Mikrokernen. Bei Performance-kritischen Operationen, etwa der Kommunikation zwischen geschützten Adreßräumen, sei L4 um den Faktor 20 schneller als Mach, stellt Liedtke für seinen Microkernel fest.

Größe und Schnelligkeit von L4 sowie die Möglichkeit, den Linux-Server ohne größere Modifikationen als Benutzerprogramm auf dem Microkernel laufen zu lassen, sollen der Linux-L4-Lösung ein breitgefächertes Einsatzspektrum öffnen. Die Entwicklung von Anwendungs-Servern bietet sich laut Liedtke besonders im Multimedia-Segment und bei Echtzeit-Applikationen an. Es reiche nicht, "Performance zu haben" - vielmehr müsse einer Anwendung die benötigte Leistung etwa beim Scheduling (Verteilung von CPU-Ressourcen) garantiert werden. Diese für Multimedia erforderlichen Mechanismen bieten heutige Betriebssysteme nicht, so Liedtke. Statt dessen müßten applikationsspezifische Strategien bezüglich der Hauptspeicherzuteilung realisiert werden.

Besonders aktiv auf diesem Gebiet sind die Dresdener. Härtig spricht von zwei "Kulturen", die nebeneinander auf einem Rechner laufen: Parallel zu Linux (Arbeitsplatz- und Time-Sharing-System) sollen Multimedia-Komponenten gebaut werden, die als Subsystem auf dem Microkernel laufen und alle Ressourcen erhalten, die sie benötigen beziehungsweise reserviert haben. Die verbleibende Leistung steht dann Linux zur Verfügung.

In Richtung Fertigungsindustrie zielt ein weiteres Projekt der Dresdener, bei dem ein über L4 und verschiedene Subsysteme gesteuerter Roboter mit einem möglichst großen neuronalen Netz ausgestattet werden soll.

Gute Voraussetzungen bietet L4 auch für den Einsatz in Smartcards, wo der Kern aufgrund seines geringen Umfangs relativ viel Platz für größere Anwendungsprogramme läßt. Ähnliches gilt laut Härtig für den jüngst von einigen Herstellern propagierten Network Computer (NC), der prinzipiell mit L4 starten könnte, um dann die gewünschte Betriebssystem-Funktionalität aus dem Netz zu laden.

Im Bereich der Embedded Systems konkurriere L4 zwar mit einigen bereits am Markt verfügbaren Realtime-Kernen, im Gegensatz zu diesen sei das GMD-Produkt jedoch flexibler und biete Durchgängigkeit zu unterschiedlichen Anwendungs- und Betriebssystem-Servern.

Diese L4-Eigenschaften scheinen inzwischen auch das Interesse bei IBM in den USA geweckt zu haben. Ob Big Blue mit L4 ein neues Konzept für die ursprünglich geplanten OS-Personalities auflegen oder Mach bei den Echtzeitkernen ablösen will, war bis Redaktionsschluß nicht zu erfahren. Fest steht, daß Liedtke kurz nach Bekanntwerden der Linux-Portierung auf L4 einer Einladung von IBM zur Kooperation in deren New Yorker Laboratorium gefolgt ist. Ähnliches Interesse an der deutschen Entwicklung wünscht sich Härtig nun auch vom sächsischen Wissenschaftsministerium und der deutschen Wirtschaft.

Vision und Realität

Um seinem Namen gerecht zu werden, sollte ein Microkernel im Idealfall nur drei Eigenschaften besitzen: Er muß Adreßräume bilden können, die Inter-Process-Communication (IPC) zwischen diesen Adreßräumen beherrschen und Basisfunktionen für das Scheduling anbieten. Einen ersten Durchbruch bei dieser Technik erzielten die Forscher der Carnegie Mellon University, die mit "Mach" zunächst die Pager (Speicherverwaltung) auslagerten. Später wurden auch die Gerätetreiber aus den bis dahin monolithischen Systemen herausgelöst. Die getrennten Bereiche ließ man als Benutzerprogramme beziehungsweise Anwendungs-Server auf dem Microkernel laufen. Obwohl die Kerne nach und nach schlanker wurden, stagnierte die Entwicklung, da sich der wichtigste Mechanismus, die IPC, als wenig effizient erwies. Als Konsequenz wurden ausgelagerte Server-Funktionen und Gerätetreiber wieder in den Kernel zurückgeführt. Damit ließ sich zwar Performance gewinnen, das Konzept widerspricht jedoch dem Grundgedanken eines Mikrokerns. Bei der GMD in Sankt Augustin scheint man das Performance-Problem mit "L4" in den Griff bekommen zu haben - ohne den Kernel wieder aufzublähen. Nur ein schlanker Kern, so die Meinung dort, wird künftig genügend Flexibilität für ein breites Anwendungsspektrum bieten.

*Informationen zur L4-Linux-Lösung stehen im Internet unter http://www.inf.tu-dresden.de/-mh1/13 zur Verfügung. Eine vorläufige Alphaversion läßt sich unter ftp://ftp.inf.tu-dresden.de/pub/os/L4/devel herunterladen.