Im Kern ist Vista immer noch ein Windows NT und damit gut 15 Jahre alt. Kein Wunder also, dass Microsoft darüber nachdenkt, wie wohl ein zeitgemäßes Betriebssystem ohne den historischen Ballast aussehen könnte.
Das nächste Betriebssystem aus Redmond wird wohl noch mal den Namen Windows tragen. Viel ist über den Vista-Nachfolger noch nicht bekannt, aber Microsoft nennt ihn „Windows 7“ und peilt eine Veröffentlichung irgendwann 2010 an. Danach könnte es deutlich spannender werden: In seiner Forschungsabteilung ergründet Microsoft neuartige Betriebssystemkonzepte, von denen einige durchaus das Zeug dazu haben, eines Tages zu einem tatsächlichen Produkt zu werden.
Eines der am weitesten fortgeschrittenen Projekte trägt den Namen Midori – der Name kommt aus dem Japanischen und bedeutet „grün“. Obwohl Microsoft sich in der Regel recht zugeknöpft gibt, wenn es um so weit in die Zukunft reichende Forschungsarbeiten geht, ist es nun offenbar dem amerikanischen Online-Magazin SDTimes gelungen, einen Blick auf Projektunterlagen zu erhaschen [1]. Demnach wird Midori sehr viel modularer, virtueller und Internet-zentrierter als bisherige Betriebssysteme.
Den Kern von Midori soll ein sehr kleiner Microkernel bilden, der sich um die direkte Hardware-Kommunikation kümmert. Er ist die einzige Komponente des Betriebssystems, die noch in nativem Code existiert. Alle Dienste, die Anwendungen von einem Betriebssystem verlangen, stecken in einer zweiten Kernelschicht, die aber bereits in Managed Code implementiert ist, das heißt in einer .NET-Sprache geschrieben und zunächst in virtuellen Code kompiliert. Auch Anwendungen bestehen ausschließlich aus Managed Code.
Dadurch, dass der eigentliche Kernel sehr klein gehalten wird und alle höheren Betriebssystemdienste „Managed“ sind, erreicht man zweierlei: Zum einen muss nur der Microkernel neu implementiert werden, um eine neue Hardwareplattform zu unterstützen, also etwa eine andere Prozessorarchitektur oder mobile Geräte. Denkbar ist auch, dass eine Inkarnation des Kernels gar nicht auf reale Hardware zugreift, sondern ihrerseits die Dienste einer virtuellen Umgebung, etwa eines Hypervisors in Anspruch nimmt, sodass auf einem Rechner mehrere Betriebssysteminstanzen parallel und voneinander isoliert laufen. Dass Midori – wenn es denn jemals zu einem realen Produkt wird – auf einem solchen Hypervisor aufsetzt, ist sogar sehr wahrscheinlich: So kann man Windows für eine Übergangszeit parallel zum neuen System in einer virtuellen Maschine betreiben, um vorhandene Anwendungen weiter zu nutzen.
Der Schnitt zwischen dem Micro-Kernel und den eigentlichen Betriebssystemdiensten setzt bei Midori sehr tief an: Selbst die Verwaltung von Haupt- und Massenspeicher oder von Rechenzeit sind in dieser Sichtweise höhere Dienste, sodass das Betriebssystem sich solche Ressourcen – für die Anwendung völlig transparent – aus dem Netz besorgen kann. So lassen sich aufwendige Berechnungen etwa von einem Cluster erledigen.
Anwendungsentwickler werden sich für Midori an ein neues Programmiermodell gewöhnen müssen: Praktisch jeder Funktionsaufruf ins Betriebssystem oder in eine eigene Komponente kann potenziell eine Netzwerkkommunikation mit einem Server auslösen. Daher sollten sie stets asynchron stattfinden. Selbst entwickelte Komponenten können nicht mehr dynamisch als In-Process-Server geladen werden, sondern müssen eine saubere Kommunikationsschnittstelle aufweisen. Diesen Ansatz verfolgen auch heute schon die Verfechter diensteorientierter Architekturen (Service Oriented Architecture, SOA), aber die Konsequenz, mit der die Midori-Entwickler ihn als Bestandteil des Betriebssystems sehen, ist schon recht revolutionär.
Um einen lokalen Dienst durch einen im Netz ersetzen zu können, müssen Dienste sich über Metadaten beschreiben können, in denen unter anderem ein sogenannter Kontrakt dem Client bestimmte Eigenschaften zusichert. Dafür sind auch neue Werkzeuge erforderlich. Pläne dafür, wie die aussehen könnten, sind bei Microsoft schon recht weit gediehen: Unter dem Codenamen „Oslo“ entsteht derzeit schon eine Sammlung von SOA-Tools, die Entwickler für Midori weiterverwenden könnten.
Neben der Möglichkeit, Teile einer Anwendung ins Netz auszulagern, hat die Idee einer SOA-ähnlichen Architektur im Betriebssystem noch eine Reihe weiterer reizvoller Aspekte: Wenn das System prüfen kann, ob ein Dienst und seine Benutzer den zum Dienst gehörigen Kontrakt einhalten, ließe sich die Korrektheit von Software weit besser als bisher automatisch prüfen, was sowohl der Stabilität als auch der Sicherheit des Gesamtsystems zugute kommt. Angesichts der absehbaren Entwicklung, dass künftige Computer immer mehr CPU-Kerne enthalten, wird die Multithread-Programmierung an Bedeutung gewinnen. Wo Anwendungen und das Betriebssystem aus nebenläufigen Prozessen bestehen, die sich asynchron aufrufen, bekommt man dieses Multitasking quasi geschenkt.
Ganz neu ist die Idee eines ausschließlich aus Managed Code bestehenden Betriebssystems bei Microsoft nicht: Schon seit Längerem arbeitet eine andere Forschergruppe an einem Projekt namens „Singularity“, das sich als Ziel ein pures .NET-Betriebssystem auf die Fahnen geschrieben hat [2]. Anders als bei Midori gibt es hierzu bereits eine ganze Menge öffentlich zugänglicher Informationen auf der Projekt-Homepage [3]. Auf Microsofts Open-Source-Plattform CodePlex haben die Entwickler sogar schon ein „Research Development Kit“ veröffentlicht, mit dem Interessierte die bisherigen Ergebnisse der Arbeit ausprobieren können (siehe Soft-Link).
Nach eigenem Bekunden hatten die Singularity-Forscher nie im Sinn, ein Betriebssystem zu entwickeln, das dereinst als Microsoft-Produkt in die Regale gelangt. Sie verstehen sich vielmehr als „Inkubator“ für neue Ideen. Auf die Frage, wie ernst es Microsoft mit Midori ist, gibt es bislang keine Antwort. Dass man sich zwei voneinander unabhängige Forschungsprojekte mit derart ähnlichen Zielsetzungen leistet, ist aber unwahrscheinlich. Vielmehr scheint Microsoft mit Midori tatsächlich im Sinn zu haben, die Erkenntnisse aus dem Singularity-Projekt in ein Produkt zu gießen, das über kurz oder lang Windows beerben soll. Ob das schon der Windows-7-Nachfolger sein wird oder die Windows-Plattform noch eine Weile länger lebt, steht aber in den Sternen.
(hos)
[1] David Worthington, Microsoft’s plans for post-Windows OS revealed
[2] Angela Meyer, Mit Singularity verlässt Microsoft Research den Windows-Pfad, c't 25/05, S. 48
[3] Singularity
Version zum Drucken | Per E-Mail versenden | Heft bestellen
Permalink: http://heise.de/-291690
Kommentare lesen (110 Beiträge)
Das aktuelle Heft ist jetzt im Handel erhältlich.
Ältere Artikel können Sie über unser Zeitschriften-Archiv bestellen.