Neues Microsoft-Projekt: Singularity
Windows in 10 Jahren

BetriebssystemDeveloperIT-ProjekteSoftwareWorkspace

Microsofts Forschungsgruppe arbeitet an einem völlig neuen Betriebssystem-Prototyp, der sich zum Windows der Zukunft mausern könnte.

Systemstabilität ist oberstes Ziel

Neues Microsoft-Projekt: Singularity

Um sich die Vorherrschaft in zukunftsträchtigen IT-Bereichen zu sichern, verlässt sich Microsoft nicht nur auf seine Marktmacht. Der Software-Riese gönnt sich auch eine Forschungsabteilung mit unterschiedlichsten Projekt-Teams. Jetzt hat das Betriebssystem-Team (research.microsoft.com/os) ein neues Projekt namens Singularity (engl. für Einzigartigkeit) vorgestellt das Windows der Zukunft.

Rund 50 Forscher in zwölf Teams arbeiten heute am Projekt. Beim Startschuss gab es so gut wie keine Vorgaben. Zu keinem Standard muss man kompatibel sein, kein Windows- oder gar DOS-Code muss weiterverwendet werden. Lediglich eine Frage sollen die Microsoft-Forscher beantworten: Wie sieht eine Software-Plattform aus, deren vorrangiges Ziel Systemstabilität ist?


Windows komplett neu gebaut

Neues Microsoft-Projekt: Singularity

Singularity beruht auf drei Schlüsselfunktionen: den Software Isolated Processes (SIP), dem Microkernel und den Channels. Aktuelle Betriebssysteme wie Windows XP, Vista oder Linux setzen auf riesige monolithische Kerne. Dagegen besitzt Singularity nur einen Microkernel. Dieser stellt nur die Kernfunktionen bereit, etwa Speicherverwaltung, Prozess-Management, Channel-Steuerung, Scheduling sowie Ein-/Ausgabe-Verwaltung.

Alle anderen Funktionen sind in Module ausgelagert und werden streng voneinander getrennt über SIPs realisiert. Die Kommunikation von Kernel und SIPs sowie der SIPs untereinander funktioniert über die Channels bidirektionale Kommunikationskanäle.


Betriebssystem ohne Bluescreen

Neues Microsoft-Projekt: Singularity

Ein weiterer Unterschied zu aktuellen Betriebssystemen ist die konsequente Abschottung von Prozessen. Das bedeutet, es gibt keinen gemeinsamen Speicher für gleichzeitig ausgeführte Programme. Die Folge: Stürzt eine Anwendung ab, ist immer klar, wo der Fehler sitzt und welche Auswirkungen er hat. Auch Bluescreens soll es nicht mehr geben. Der Kernel ist fast vollständig in einer speziell erweiterten Variante von C# (Sing#) programmiert und verwendet so genannten Managed Code.

Dahinter steckt Programm-Code, der in der .NET-Laufzeitumgebung CLR (Common Language Runtime) ausgeführt wird. Die Vorteile: Schon beim Übersetzen des Kernels können die intelligenten C#-Compiler den Code optimieren und auf Sicherheitslücken prüfen. Dadurch wird der Speicherschutz, für den bei aktuellen Rechnern zu großen Teilen die Hardware-Komponenten zuständig sind, von der Software übernommen das bringt vor allem Geschwindigkeitsvorteile bei Funktionsaufrufen und der Prozessverwaltung.

Die Möglichkeiten, Teile von Singularity in Windows XP oder Vista zu übernehmen, sind begrenzt. Jede Änderung am Kernel oder am Prozessmodell würde die Kompatibilität von Windows mit Anwendungs-Software und Treibern gefährden. Jedes Stück Windows-Software müsste angepasst werden, was in der Praxis einfach nicht möglich ist oder eine mehrjährige Umstellungsphase nach sich ziehen würde.


Linux ist schneller als Windows

Neues Microsoft-Projekt: Singularity

Ein interessanter Nebenaspekt der Singularity-Dokumentation sind Benchmark-Grafiken, die FreeBSD, Linux, Singularity und Windows XP im Vergleich zeigen. Dabei schneiden vor allem FreeBSD und Linux bei den zufälligen Schreib-Lese-Zugriffen durchweg besser ab als Windows XP. So liefert letztendlich Microsoft selbst ein handfestes Indiz dafür, dass Linux schneller ist als Windows.

Powerpoint-Folien im Kernel

Microsofts Forschungsabteilung betont ausdrücklich, dass Singularity nur ein Prototyp ist. So gibt es keine grafische Oberfläche; Singularity versprüht stattdessen DOS-Charme. Und auch »normale« Windows-Programme funktionieren nicht damit. Trotzdem macht Projektleiter Galen Hunt seine Präsentationen auf einem Rechner mit Singularity. Einzelne Folien aus Powerpoint exportiert er als Bitmap und kompiliert sie direkt in den Singularity-Kernel.JG.