Login


 
Newsletter
Werbung

Mo, 13. März 2006, 20:23

Software::Kernel

Live-CD mit L4-Mikrokernel

Die Technische Universität Dresden hat eine Demo-CD namens TUD:OS herausgegeben, die einige Früchte ihrer Mikrokernel-und Echtzeitsystem-Forschung zeigt.

DOpE und Windowmaker auf L4 mittels Nitpicker

René van Bevern

DOpE und Windowmaker auf L4 mittels Nitpicker

Das Livesystem demonstriert die Einbindung von Fremdtreibern durch Nachbildung ihrer gewohnten Umgebung, graphische Oberflächen mittels QT3 für L4 und DOpE, sowie die Ausführung beliebig vieler Linux-Instanzen via L4Linux.

Die Basis des freien Betriebssystems bildet der zu L4 kompatible Mikrokernel L4/Fiasco. Ersterer ist schon seit längerer Zeit als Zentrum des GNU Hurd angedacht, wobei dieses überwiegend immer noch auf dem Mach-Mikrokernel basiert.

Wie das Livesystem demonstriert, ist Linux auf L4 lauffähig und es ist möglich, beliebig viele Instanzen eines Linux-Systems (L4Linux) gleichzeitig im Userspace zu betreiben. Während L4 die Echtzeit-Ausführung von Prozessen garantieren kann (u.a. weil Systemprozesse wie Treiber keine besonderen Privilegien genießen), ordnen sich die Prozesse in der L4Linux-Umgebung dem Scheduling des Linux-Kernels unter. Es ist theoretisch möglich, beliebige Linux-Anwendungen in der L4Linux-Umgebung und somit unter L4 zu betreiben.

Eine L4Linux-Umgebung ist jedoch nicht nur nützlich, um Linux-Anwendungen unter L4 zu betreiben: die Treiber des Linuxkernels können dem L4-System Geräte wie Festplatten zur Verfügung stellen. So würde der Linux-Kernel lediglich als ein Container für Treiber verwendet, die das L4-System noch nicht eigenständig anbietet.

Die graphische Oberfläche der Demos stellt Nitpicker bereit. Dieser hat die Eigenschaft, andere Fenstersysteme als seine Clients zu behandeln, womit Fenster des X-Window-Systems oder von DOpE – einem Echtzeit-Fenstersystem der TU-Dresden – als eigene Fenster behandelt werden (siehe Screenshot). Dazu werden die Bildschirmausgaben der einzelnen Fenstersysteme zunächst in einen unsichtbaren Puffer gerendert und dann auf dem Bildschirm zu einem Gesamtbild vereint.

Dabei haben die einzelnen Instanzen des X-Window-Systems oder DOpE nur auf ihre eigenen Fenster Zugriff. So ist es beispielsweise möglich, mehrere Linux-Instanzen im User-Space zu starten und in jeder dieser eine X-Sitzung zu initiieren, wobei jede für sich isoliert ist. Demonstriert wird an dieser Stelle, wie es Applikationen der einen Sitzung unmöglich ist, die Aktionen des Benutzers in einer anderen Sitzung zu überwachen: xeyes oder ein Keylogger überwachen so nur ihre eigene Sitzung, während die anderen unkompromittiert bleiben.

Auf der Demo-CD sind verschiedene Applikationen für DOpE und X enthalten. DOpE lässt den Anwender beispielsweise Quake mit der freien Implementierung OpenQuartz spielen, während gleichzeitig ein WindowMaker die X11-Fenster verwaltet. Für Nitpicker, der selbst nur etwa 1500 Codezeilen umfasst, gibt es derzeit sehr wenige Applikationen, wie beispielsweise den mitgelieferten Betrachter der Tutorien, weshalb die Unterstützung für andere Fenstersysteme notwendig ist. Zukünftig soll auch die Portierung von QT3 auf L4 mit Nitpicker zusammenarbeiten.

Die Demo-CD demonstriert ferner einen weiteren Ansatz neben dem oben genannten, die Gerätetreiber anderer Betriebssysteme unter dem L4-Mikrokernel zu verwenden. Ähnlich wie NDIS-Wrapper unter Linux vermag TUD:OS die Treiberschnittstellen anderer Betriebssysteme nachzubilden, mit dem Unterschied, dass diese hier nicht im Kernelspace laufen. So ist es bereits möglich, viele Linux-2.4-Treiber unverändert neuzukompilieren und auf L4 zu verwenden. Auf diese Weise wurden bereits Treiber für IDE, USB, verschiedene Netzwerk- und Eingabegeräte sowie Soundkarten gewonnen. Zukünftig wollen die Entwickler weitere Arbeit in die Treiberschnittstellennachbildung für FreeBSD stecken. Die auf der Demo-CD enthaltene Applikation zum Überschreiben von IDE-Festplatten verwendet beispielsweise IDE-Treiber von Fremdsystemen.

Die Downloadseite bietet neben den ISO-Images auch Konfigurationen für VMWare und eine geeignete Kommandozeile, um TUD:OS mittels Qemu zu betreiben.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung