ARCHIV 1999-2006

ARCHIV :: # 1120

MacOS X - Das letzte große Betriebssystem?

Autor: wp - Datum: 21.03.2002

MacOS X ist jetzt seit etwa einem Jahr auf dem Markt - Zeit für ein paar nachdenkliche Betrachtungen zum Stand der Entwicklung, auch bezüglich Software im Allgemeinen. Der Autor ist Patentanwalt und damit ein Generalist, kein Softwarespezialist. Kleinere Ungenauigkeiten bitte ich demzufolge zu entschuldigen.

Als Apple NeXT Anfang 1997 übernahm (oder war es umgekehrt?), gingen alle Beteiligten von einem relativ optimistischen Zeitplan aus. Bereits 1998 sollte eine fertige Version des damals Rhapsody genannten Systems auf dem Markt erscheinen. Die Anfangserfolge waren auch vielversprechend. Bereits nach wenigen Monaten konnte das Entwicklerteam eine Portierung von OPENSTEP auf den PowerPC vorweisen, in der sogar schon die BlueBox für klassische Mac-Programme lief. Danach stellte sich jedoch anscheinend heraus, dass verschiedene Konzepte der Überarbeitung bzw. Modernisierung bedurften, was zu enormen zeitlichen Verzögerungen bei der Entwicklung führte. Der Vorgänger OPENSTEP erfüllte einfach, genau wie MacOS, nicht mehr alle Anforderungen, die aus verschiedensten Nutzerkreisen in der heutigen Zeit an ein Betriebssystem gestellt werden. In der Folge wurden grosse Teile des Systems erneuert, so etwa der Kernel, der nunmehr auf Mach 3 basiert, BSD, jetzt in der Version 4, sowie das Graphikmodell, das von Postscript auf PDF umgestellt wurde und zahlreiche Elemente der alten Mac GUI und OpenGL angeflanscht bekam (Quartz genannt). Aber auch andere Subsysteme wie das Dateisystem, das Drucksystem, die Netzwerkverwaltung (LDAP), das Gerätetreibermodell, Carbon und die Benutzeroberfläche wurden grundlegend erneuert bzw. neu eingeführt.

Heraus kam ein Betriebssystem, das nach Jahren der Verspätung mit einer grossen Anzahl entweder komplett neuer Konzepte oder zumindest neu integrierter Konzepte aufwarten konnte.

Dennoch erscheint mir, und anscheinend nicht nur mir, der aktuelle Stand der Entwicklung noch nicht zufriedenstellend. Zahlreiche kleinere Probleme, besonders beim Drucksystem, der Netzwerkeinbindung und der Performance der GUI quälen die Anwender und machen für viele ein permanentes Arbeiten unter MacOS X unmöglich. Es fehlen zahlreiche Kleinigkeiten, welche aber bei existierenden, durch die Praxis vorgegebenen Anforderungen eben den Einsatz immer wieder unmöglich machen.

Hat sich Apple zu viel vorgenommen und sich verhoben? Ich kann diese Frage nicht beantworten. Auffallend ist jedoch die rasche Folge von Updates, die meist nur kleinere Änderungen mit sich bringen und doch anscheinend von Apple als hinreichend dringend angesehen werden, um eine solche Update-Orgie (seit der Beta 2 gab es 10 Versionssprünge, d.h. alle 1.8 Monate einen, wobei zwischen der Beta 2 und 10.0 immerhin ein halbes Jahr lag) zu rechtfertigen. Dies alles deutet darauf hin, dass Apple eigentlich noch immer nicht fertig war, als OS X auf den Markt geworfen wurde, und dass das Beta-Testprogramm nicht ausführlich genug war.

Man muss diese Tatsache zudem vor dem Hintergrund würdigen, dass das NeXT Entwickler-Team das Betriebssystem bereits sehr gut kannte, OPENSTEP zuvor ein sehr stabiles und recht fehlerarmes System war, und eine Reihe von existierenden Standards eingebaut wurden, wobei der Code entweder nur übernommen wurde oder zumindest gut verstanden ist. Trotz der wohl unbestrittenen Kompetenz der Entwickler also gab es immense Probleme und es stellt sich die Frage, ob diese nicht vielleicht ein prinzipielles Problem aufzeigen könnten.

Sehen wir uns die Entwcklung bei Konkurrenzunternehmen an. Microsoft entwickelt zwar teilweise neue Systeme, bei denen ein enormer Personalaufwand betrieben wird. Tatsächlich sind die Unterschiede von Version zu Version jedoch gar nicht so groß, und Microsoft scheint durchaus darauf zu achten, dass nach Möglichkeit an der Basis, z.B. den APIs, nicht zuviel rumgefriemelt wird. Echte Innovation, da sind wir uns wohl alle einig, findet bei Microsoft nicht statt. Linux ist ein dynamisches und erfolgreiches System. Man darf aber nicht übersehen, dass vieles ein Nachkochen von Konzepten ist, die bereits vor längerer Zeit entwickelt worden sind, oder einfache Kompilierungen von existierenden Programmen. Es ist ein UNIX Nachbau, der bereits auf die Siebziger zurückgeht. Erst jetzt entwickeln die Linux-Programmierer auch neue Konzepte, die über das Vorbekannte hinausreichen.

BeOS war in vielen Punkten innovativ, auch wenn es bereits zum Zeitpunkt seiner Entwicklung in einigen Belangen OPENSTEP hinterherhing. Zumindest wurde jedenfalls auf die Performance Wert gelegt. Trotzdem ist Be gescheitert. Das gleiche gilt auch für Spring von Sun, das genau wie Jini (O.K., kein Betriebssytem) nicht über das experimentelle Stadium hinauskam. Plan 9 und The Hurd vegetieren ebenfalls vor sich hin, von den verschiedenen UNIX Derivaten, in denen sich nicht mehr viel tut, ganz zu schweigen.

Man kann also konstatieren, dass in den letzten Jahren kaum noch echte Neuerungen stattgefunden haben. Die Ursachen dafür können neben der Dominanz von Microsoft meines Erachtens insbesondere in der zumehmenden Komplexität heutiger Betriebssysteme liegen. Ich fürchte fast, dass wir mit den herkömmlichen Methoden langsam an eine Grenze stoßen, die das menschliche Gehirn nicht überwinden kann, ganz einfach weil die Zahl der Relationen und Abhängigkeiten in den Betriebssystemen ein Maß erreicht hat, das sich nicht mehr überblicken lässt. Die Komplexität der Systeme steigt immer weiter, weil die Anforderungen wachsen und die Rückwärtskompatibilität immer wichtiger wird.

Vielleicht sehen wir mit MacOS X hier eine Ende, einen letzten Versuch, die Grenze der Machbarkeit weiter zu schieben. Möglicherweise ist MacOS X das letzte Mal, dass Programmierer ein wirklich neues, kommerzielles System definieren, und in Zukunft werden wir nur noch marginale Updates sehen, die in Babyschritten Fortschritte mit sich bringen und die in den existierenden Basisstrukturen bis zur letztendlichen Unbeweglichkeit verkrusten. Zugegeben, keine optimistische Zukunftsaussicht.

Kommentare