MarinComics Home

5. Ende der Kindheit: Mac OS X 10.4 bis 10.6

« Zum vorigen Kapitel | Zum Inhaltsverzeichnis | Zum nächsten Kapitel »

“Erwachsensein heißt: vergessen, wie untröstlich wir als Kinder oft gewesen sind.”
Heinrich Böll

Mac OS X hatte in seiner vierten Inkarnation die wechselhaften Jahre der Pubertät verlassen. Es konnte auf eigenen Beinen stehen. Allerdings bestand es aus vielen zusammengeflickten Teilen, die noch nicht richtig zusammenpassten. Einige Bestandteile waren uralt (Classic), einige nur transzendente Übergangslösungen (Carbon) und einige erlangten erst mit 10.3 eine annehmbare Reife (Cocoa). Viele dieser älteren Technologien wurden aus Gründen der Kompatibilität übernommen. So überlebten QuickDraw in seiner alten Form und QuickTime in einer abgeänderten Form jede neue Version.

Mac OS X ähnelte einer alten Stadt, in der es zu einem gewaltigen Bauschub gekommen war. So beschrieb der österreichische Philosoph Ludwig Wittgenstein die menschliche Sprache wie eine historisch gewachsene Stadt: “Ein Gewinkel von Gässchen und Plätzen, alten und neuen Häusern mit Zubauten aus verschiedenen Zeiten: und dies umgeben von einer Menge Vororte mit geraden und regelmäßigen Straßen und mit einförmigen Häusern.”

Es wurde Zeit, in dieser Stadt die alten Teile abzureißen. Apple begann einige so genannte “Legacy”-Technologien abzuwerfen. Mac OS X 10.0 bis 10.3 stellten die Aufbauphase neuer Technologien dar, mit 10.4 bis 10.6 begann zusätzlich zu neuen Entwicklungen der große Abbau alter Technologien. In Mac OS X 10.4 Tiger leitete Apples Ausmisten der Altlasten ein, mit Leopard wurde der Übergang beschleunigt, um bei Snow Leopard sämtliche alte Technologien aus dem System zu exorzieren.

In diesem Kapitel werden diese drei Versionen besprochen. Sie schlugen die Brücke zu Intel.

Mac OS X 10.4 Tiger: Survival of the Fittest

Mit Tiger wagte es Apple 2005, nach zweieinhalb Jahren das ambitionierteste Upgrade seines Betriebssystems zu veröffentlichen. Die Werbung versprach über 150 neue Features. Doch die wichtigsten und interessantesten wurden nicht besonders stark angepriesen. Gerade diese Änderungen im Kern des Betriebssystems überzeugen aber.

Welche der 150 neuen Features sind wirklich wichtig? Wie hat sich der Kern von Mac OS X in dieser Version verändert?

Des Tigers neue Streifen

Effekthascherei stand im Zentrum des Systems. Es bot neue Bedienungselemente, eine systemweite Suche namens Spotlight, eine brandneue Version des Webbrowsers Safari und Grafiktechnologien (CoreImage, CoreGraphics, CoreVideo), die das OS weit über die Möglichkeiten der Konkurrenz hinauskatapultierten.

Tiger wurde von den Usern so schnell wie kein anderes System zuvor adoptiert. Innerhalb eines Jahres lief mehr als die Hälfte aller bestehenden Apple-Rechner mit Tiger. Zudem war Tiger mit dem Umstieg auf Intel-Prozessoren, das erste System, das auf der neuen Prozessorarchitektur lief.

Die öffentlichkeitswirksamsten Features waren:

CoreGraphics, CoreImage, CoreVideo: Endlich konnten Entwickler auf die Leistung der Grafikkarten auf schnelle und unkomplizierte Weise zugreifen. CoreGraphics erlaubte es, wie ein Super-Quartz Extreme sämtliche grafische Operationen auf die Grafikkarte auszulagern. CoreImage benützte die Grafikkarte, um Photoshop-artige Filter auf Grafiken anzuwenden. CoreVideo packte die gesamte Leistung den überarbeiteten Quicktime in eine API.

Erstmals war die Grafikausgabe um vieles schneller als mit QuickDraw. Apple begann auch aktiv davon abzuraten, weiterhin QuickDraw für die Darstellung in neuen Anwendungen zu benützen.

Safari RSS: Die zweite Version des Webbrowsers war nicht nur schneller, es lißen sich damit auch RSS-Feeds abonnieren. Außerdem war Safari noch W3C-standard-konformer als zuvor.

QuickTime 7: Die neue Version der Videokompressions- und Dekompressionssoftware baute zwar noch auf den alten Kern auf, ihr wurden aber neue Komprimierungsverfahren beigebracht. Unter anderem beherrschte QuickTime nun den leistungsfähigen H.264-Codec, auf den auch YouTube später umsteigen würde. QuickTime bot nun erstmals eine uneingeschränkt über Cocoa nutzbare API, die es erlaubte, leichter Videoanwendungen für den Mac zu schreiben.

Spotlight: Bereits das Scheinwerferlicht im Logo dieser Betriebssystemversion deutete die systemweite Suche an. Spotlight indizierte alle Dateien und ihre Inhalte auf dem Mac. Es konnte in PDF-Dateien suchen, Adressen im Adressbuch, Termine im Kalender finden, es kannte den Inhalt jeder Mail und jedes Textes auf dem Computer. Stets waren alle Dateien so schnell auffindbar, wie man sie ins Suchfeld auf dem rechten Bildschirmrand eingeben konnte.

Dashboard: Apple führte eine neue Benutzerschnittstellenebene ein. Hier konnten kleine Mini-Anwendungen permanent im Hintergrund ausgeführt werden. Diese “Widgets” waren auf Knopfdruck erreichbar und legten sich auf einer transparenten Fläche über die bestehenden Anwendungen. Die Dashboard-Widgets erlaubten es Anwendern, Wetterberichte abzurufen, Berechnungen anzustellen, Begriffe im Wörterbuch nachzuschlagen und andere Informationen online oder offline abzurufen.

Automator: Dieses kleine Programm erlaubte es, auch Nicht-Programmierern Abläufe zu automatisieren. Anwender konnten ihre eigenen Arbeitsabläufe aufzeichnen, mit Variablen versehen und beliebig oft ausführen. Man konnte z.B. 100 JPG-Bilder in der Größe verändern und ihnen einen CoreImage-Filter verpassen, indem man die Aktion mit Automator aufzeichnet.

Sync Services: In Jaguar wurde das systemweite Adressbuch vorgestellt. Das war aber nur die Vorstufe zur systemweiten Bereitstellung von Kontakten, Adressdaten und Notizen. Nun konnten fremde Geräte wie Mobiltelefone und Organizer aber auch fremde Online-Dienste wie Google Calendar auf sämtliche persönliche Daten zugreifen. Durch Sync Services wurde jede Änderung der Daten mit allen abhängigen Stellen synchron gehalten.

Die restlichen Features waren ein verbesserter Video-Chat-Client mit iChatAV, ein systemweites Englishwörterbuch und Synonymlexikon sowie vebesserte Accessibility-Features, um Menschen mit Behinderung die Bedienung des Mac zu erleichtern.

Drei grundlegende Änderungen spielten sich komplett “unter der Motorhaube” ab. Durch Spotlight konnte das Dateisystem nun ähnlich einer Datenbank auf Dateien zugreifen, die Entwicklung von 64-Bit-Programmen war möglich, solange sie nicht auf die GUI zugriffen, und die Unix-Features wurden stark an den Industriestandard angepasst, womit Mac OS X Tiger sich erstmals als anerkanntes Unix ausgeben konnte.

Am aller wichtigsten war der neue Betriebssystemkernel, der nun endlich in einen fertigen und stabilen Zustand gebracht worden war.

Kerngesund - Der neue Kernel des Tigers

Mit Tiger ist der Mac OS X-Kernel einigen wesentlichen Änderungen unterzogen worden. Dabei stellt der Kernel an sich ein interessantes Zwitterwesen dar: ein Mach-Microkernel, der mit einer "traditionellen" BSD-artigen Systemaufrufschnittstelle zusammengeschweißt wurde. Daran haben die Apple-Architekten selbstentwickelte Technologien wie IOKit angefügt. Für die Zwecke dieser Arbeit27 kann der Kernel als Einheit betrachtet werden, die über eine Vielzahl unterschiedlicher Schnittstellen nach “außen” vefügt.

Unglücklicherweise waren genau diese Systemschnittstellen des Mac OS X-Kernels historisch bedingt unzulänglich. Sowohl Apple-eigene Entwickler als auch Programmierer bei Drittherstellern benötigten aber ein breite Palette an flexiblen und leistungsfähigen Kernel-APIs. Aus diesem Grund verwendeten sie auf bisherigen Mac OS X-Versionen “schmutzige” Tricks, um auf die undokumentierten Schnittstellen zuzugreifen.

Solche Kernel-Extensions liefen stets Gefahr, auf der nächsten Version des Betriebssystems nicht mehr zu funktionieren. Die Apple-eigene Systemdokumentation ließ wenig Zweifel daran, dass viele APIs sich entweder noch im Wandel befanden oder einfach noch nicht “offiziell” für den allgemeinen Gebrauch freigegeben seien. Entwickler konnten damit rechnen, dass ihre Tricks nur auf der jeweiligen Betriebssystem-Version funktionieren würden. Bei einem neuen Release von Mac OS X könnten ihre Kernel-Extensions unter Umständen in Flammen aufgehen, wie ein explodierender Tankwagen in einem Jerry Bruckheimer-Film.

Allerdings hat Apple diese “inoffiziellen” Aktivitäten nicht unbedingt entmutigt. Die Entscheidungsträger im Unternehmen erkannten, dass sie selbst an dieser Situation Schuld waren, weil Mac OS X in vielen Bereichen unzureichende und instabile APIs enthielt, die nur deshalb noch nicht freigegeben werden konnten, weil sie noch unfertig waren.

Stets warnte das Unternehmen in seiner Systemdokumentation davor, bestimmtes undokumentiertes Verhalten als selbstverständlich oder gar endgültig anzusehen.

Reguläre Anwender merkten nur wenig von dieser jahrelang anhaltenden ungewissen Situation. Aus ihrer Perspektive machte eine neue Mac OS X-Version unter Umständen die Installation eines neuen Treibers erforderlich, weil die alte Version ihre Dienste verweigerte.

Noch problematischer war es jedoch, dass dieser Mangel an offiziell dokumentierten Kernel-APIs die meisten Fremdentwickler überhaupt davon abhielt, die technischen Möglichkeiten von “verschlossenen” Kernelteilen überhaupt erst auszuloten. Beispielsweise blieb solchen Entwicklern das viel propagierte modulare Dateisystem verschlossen. Bereits vor Veröffentlichung von Mac OS X begeisterte gerade die Ankündigung dieses Features die Mac-Entwicklergemeinde. Endlich sollte es möglich sein, neue Dateisysteme wie Microsofts NTFS28 oder Suns ZFS dynamisch ins Betriebssystem zu integrieren ganz nach dem Motto “Load and forget!”

So verführerisch ein Plugin- und Layer-basiertes Filesystem auch klingen mochte, in Ermangelung einer stabilen und dokumentierten API konnte nur ein einziges Entwicklerteam vom modularen Dateisystem Nutzen ziehen: Apples eigene Systementwickler.

Kein Drittanbieter wäre bereit gewesen, Zeit, personelle Ressourcen und vor allem Geld in die Entwicklung eines Dateisystem-Plugins zu investieren, das auf nicht freigegebene APIs und Datenstrukturen baut, welche sich mit ziemlicher Sicherheit auch noch ändern würden.

Dieser Situation bereitete Apple mit Mac OS X ein Ende. Die Kernel-API wurde solide dokumentiert und sämtliche Funktionen standen nun jedem Entwickler zu Verfügung.

Kompatibilitätswahn

Damit alte Software, die für PowerPC entwickelt wurde, auf dem neuen Prozessortyp laufen konnte stellte Apple die Rosetta-Technologie vor. Ähnlich wie der Stein von Rosetta aus der Antike, der den selben Text in mehreren altertümlichen Sprachen enthielt und Wissenschaftlern so helfen konnte diese zu verstehen, übersetzte Rosetta den alte PowerPC-Code in Intel-Code. Und das zur Laufzeit.

Komplexe Anwendungen mussten Geschwindigkeitseinbußen von bis zu 50% hinnehmen. Allerdings lieferte Apple die ersten Macs mit Intels Dualkern-Prozessoren Core Duo aus, die einen Teil des Einbruchs wieder ausgleichen konnten. Es dauerte aber noch einige Gerätegenerationen, bis Intel-Macs PowerPC-Programme schneller ausführen konnten, als PowerPC-Macs je dazu in der Lage waren. Einen Nachteil hatten Intel-Macs im Vergleich zu PowerPC-Macs: Auf Rosetta liefen nur Mac OS X-Anwendungen, die für PowerPC geschrieben worden waren. Sämtliche Software für das “klassiche” Mac OS, die früher mithilfe von “Classic” liefen, konnten nicht ausgeführt werden. Die Brücken zu Mac OS Classic waren abgebrochen.

Die neue XCode-Entwicklerumgebung erlaubte es Programmierern, ihre bestehenden Apple-konformen Programme29 als Universal Binaries zu kompilieren. So konnte ein und dasselbe Programm sowohl auf PowerPCs als auch auf Intel-Rechnern in voller Geschwindigkeit laufen.

Auf Intel-Systemen konnten User auch mithilfe von BootCamp sogar Windows XP oder sogar (wenn es unbedingt sein musst) Windows Vista auf einer Partition ihrer Festplatte installieren, um so ein flexibles, durch und durch kompatibles System zu bekommen. Richtige Freaks installierten statt Microsofts Betriebssystem lieber Linux in einer Dual-Boot-Variante zusammen mit Mac OS X. Apples Schlachtruf mit Tiger könnte lauten: “Betriebssysteme aller Prozessoren vereinigt euch!”

Die Geburt des Neuen aus der Asche des Alten

Mit Mac OS 10.4 Tiger gab Apple die eindeutige Richtung vor. QuickDraw wurde dem versteinernden Blick der Medusa ausgesetzte, QuickTime erhielt eine neue abstrahierte Schale, Classic starb auf Intel-Rechnern einen leisen Tod und der Schwanengesang des PowerPC wurde eingeläutet.

Langsam aber sicher schälte sich das System wie eine häutende Schlange aus der Last der alten Technologien, die noch vor der NeXT-Übernahme entwickelt worden waren.

Mac OS X 10.5 Leopard: Shock and Awe

Mit Leopard veröffentlichte Apple 2007 die letzte Version von Mac OS X, die noch sowohl auf PowerPC-Prozessoren als auch auf Intel-Chips lief. Zwar wurde das Innere des Betriebssystems durch den ständigen Marsch in Richtung 64-Bit-Computing wieder weiterentwickelt, die meisten Änderungen fanden aber an der Oberfläche statt.

Das Userinterface-Gewirr der vorigen Mac OS X-Versionen wurde aufgeräumt. Der neue "unified look" ersetzte den Nadelstreif der ersten Mac OS X-Varianten und die "brushed metal"-Oberfläche der letzten beiden Versionen.

Insgesamt wirkte Leopard optisch aufgeräumter. Der Finder nahm immer mehr Eigenschaften von iTunes an. So konnten User ähnlich wie beim Musikverwaltungsprogramm in ihren Dateien blättern wie in einer Schallplattensammlung.

Frozen in Carbonite

Bei der Vorstellung von Leopard machte Apple eine Ankündigung, die einen großen Schock in der Entwicklergemeinde auslöste: die Carbon-API würde nicht mehr weiterentwickelt werden. Sämtliche zukünftige Features und auch die Fähigkeit, ohne Einschränkung die 64-Bit-Fähigkeit des Betriebssystems auszunützen, waren nur über Cocoa zugänglich.

Apple hatte zwar von Anfang an in jeder Entwicklerdokumentation betont, Carbon sei eine Übergangs-API, um die Welten von Mac OS Classic und Mac OS X zu überbrücken, doch so viele große Anwendungen waren Carbon-basiert, dass niemand geglaubt hatte, mit dieser API in eine Sackgasse zu geraten.

Microsoft hatte die Mac-Version von Office auf Carbon aufgebaut, Adobe verwendete diese API für alle seine Creative Suite-Anwendungen mit Ausnahme der neuen Lightroom-Applikation und sogar Apple hatte seine Pro-Anwendungen30 für Musikkomposition und Videoschnitt mithilfe von Carbon entwickelt.

Nur die neuen Features des Leoparden konnten den Schock über die eingefrorene Carbon-API lindern. Folgende Neuerungen lösten Begeisterung aus:

Der neue Dock war nun dreidimensional. Programme konnten als Stacks aus dem Dock “geblättert” werden. Die Kalender-Anwendung iCal und das Chat-Programm iChat wurden um noch mehr Features erweitert. Spaces erlaubte die Verwendung von mehreren Desktops wie es auf Linux-Systemen bereits lange üblich war. Zu guter Letzt erlaubte es Quicklook, bereits vom Finder aus eine Vorschau jeder Datei zu sehen, ohne sie mit einer Anwendung laden zu müssen.

Mit Time Machine stellte Apple eine leistungsfähige, systemnahe und vor allem grafisch ansprechende Backup-Technologie vor. Im Hintergrund legte Time Machine Sicherheitskopien der Anwenderdaten auf externen Datenträgern (z.B. externe Festplatte oder Netzwerkelaufwerke) an. Falls Anwender auf ältere Daten zugreifen wollten, konnten sie wie mit einer Zeitmaschine einfach in vergangenen Sicherungskopien blättern.

Auch diesmal war die Liste der kleinen Verbesserungen lang: der Automator wurde verbessert, das Feature Back to my Mac erlaubte Anwendern den Zugriff auf die Dateien auf ihren Mac von überall aus, Dashboard wurde verbessert und BootCamp wurde fix ins System integriert.

Eines geschah beinahe unbemerkt: “Classic”, jene Umgebung, die es erlaubte, Anwendungen aus dem Zeitalter des “klassischen” Mac OS zu verwenden verschwand aus dem System. Selbst PowerPC-Macs konnten unter Leopard keine Software mehr ausgeführt werden, die vor der Ära Jobs 2.0 entwickelt wurde.

Der Sieg der Zukunft

Mac OS X Leopard brachte gemeinsam mit einer Vielzahl neuer Features zwei wichtige und einschneidende Änderungen. Ab dieser Systemversion konnten mit dem sang und klanglosen Verschwinden von “Classic”, sogar auf PowerPC-Macs keine “klassischen” Mac-Anwendungen mehr laufen. Auch mit dem Entwicklungsstopp der Carbon-API setzte Apple eindeutige Zeichen, dass nur der Umstieg auf die leistungsfähige Cocoa-API den Weg in die Zukunft darstellte.

Die Weichen waren gestellt. Sie führten weg von Carbon und Classic und in Richtung Intel und 64-Bit.

Mac OS X 10.6 Snow Leopard: Deus Ex Machina

Mac-User waren es gewohnt, dass jede neue Version von Mac OS X eine schier unüberschaubare Menge an neuen Features mit sich bringen würde. Mittlerweile war das Betriebssystem zu einem Hydra-artigen Monstrum herangewachsen. Warum sollte der Nachfolger von Mac OS X 10.5 Leopard anders sein?

Als Apple aber Mac OS X 10.6 ankündigte, machte der Chefentwickler Bernard Serrault eine Reihe interessanter Verlautbarungen. Die neue Version des Systems solle nur noch auf Intel-Rechnern laufen, darin sollen sämtliche verfügbaren Technologien optimiert werden und... es solle über keine neuen Features verfügen.

Um das Understatement zu betonen, wählte Apple den Namen Snow Leopard aus. Leopard eben, nur ein bisschen anders.

Im Spätsommer 2009 wurde Mac OS X 10.6 Snow Leopard veröffentlicht. Bis auf einige kleine kosmetische Veränderungen sah es genauso aus wie sein Vorgänger. Eine Installation benötigte bloß die Hälfte des Festplattenspeichers und einige Anwendungen liefen um eine Spur schneller. Sonst war es von Außen betrachtet identisch mit Mac OS X 10.5 Leopard.

Trotzdem hatte Bernard Serrault mit seiner Behauptung, Snow Leopard würde über keine neuen Features verfügen, neckisch gelogen.

Der Widerspenstigen Optimierung

Der Fokus lag auf die Optimierung des Systems. Es benötigte weniger Speicher, weil es weniger Altlasten mitschleppte. Es lief schneller auf bestehender Hardware, weil Snow Leopard vollständig an Intel-Prozessoren angepasst war. Somit wurde das System im Spätsommer 2009 einem Frühjahrsputz unterzogen.

Sämtliche neuen Features waren recht obskur oder gut versteckt. Das gesamte System und alle Systemanwendungen waren für 64-Bit-Prozessoren konzipiert. Bestehende 32-Bit-Anwendungen konnten parallel zu neuen 64-Bit-Programmen, die in Cocoa entwickelt worden waren, ausgeführt werden.

Den wichtigsten Schritt in Richtung Interoperabilität mit der Welt von Microsoft war die systemnahe Implementierung der Groupware Exchange. Im Gegensatz zu ihren Windows-Pendants konnten Macs nun von Haus aus, “out of the box” mit Microsoft Exchange-Servern kommunizieren, um E-Mails zu verschicken, Kalender mit Terminen und Einladungen zu verwalten und gemeinsam Projektdaten auszutauschen.

Viel wesentlicher, als das, was das System enthielt, war, was es wegließ. Bei der Vorstellung des aller ersten Macintosh im Jahre 1984 nannte Steve Jobs seine Ingenieure Künstler. Er sagte, “real artists ship”. Mit Mac OS X 10.6 Snow Leopard bewies Apple, dass Kunst auch die Kunst des Weglassens bedeutet.

Die aktuelle Version von Mac OS X enthält nur noch homöopathische Spuren der alten auf Mac OS Classic entwickelten Technologien. Als aller letzte Systemapplikation wurde nun auch QuickTime als QuickTime X komplett neu entwickelt. Es ist schlanker, schneller und schöner - wie Snow Leopard.

Ende einer Reise, Aufbruch!

Mac OS X hat seine lange Reise beendet. Es ist bedingungslos zur Intel-Prozessorarchitektur zurückgekehrt. Sämtliche “Transitions”, Übergänge und Einführungen neuer Technologien erfüllten keinen Selbstzweck. Sie erfüllte keine “bullet points” in einer langen, öffentlich vorgetragenen Strategie. Apple kündigte nur wenig an, stattdessen lieferte das Unternehmen ein modernes, zukunftsorientiertes Betriebssystem, ohne Entwickler und Anwender allein zu lassen.

Der Technologie-Kritiker John Siracusa schrieb in seinem erschöpfenden Bericht über Snow Leopard31:

“Creating an operating system is as much a social exercise as a technological one. Creating a platform, even more so. All of Snow Leopard's considerable technical achievements are not just designed to benefit users; they're also intended to goad, persuade, and otherwise herd developers in the direction that Apple feels will be most beneficial for the future of the platform.”

Jetzt befindet sich Mac OS X am Beginn der nächsten Evolution. Diesmal geht es in Richtung 64-Bit. Diesmal wird es leichter. Denn eines kann Mac OS X nicht. Es kann nicht aufhören, sich weiter zu entwickeln.

Wie sagte es Steve Jobs 2005 als er den Prozessorwechsel auf Intel ankündigte? “Apple can do transitions!”

Kapitelzusammenfassung

Apple konsolidierte seine neuen Technologien in Mac OS X 10.4 bis 10.6. Nach und nach wurden alte Technologien durch neue, leistungsfähigere Entwicklungen ersetzt. Anfangs waren mit QuickDraw und QuickTime nur kleine Teile des Systems betroffen. Allmählich verschwand aber “Classic” und damit die Rückwärtskompatibilität zu Mac OS Classic. Auch die Übergangsbibliothek Carbon wurde eingefroren, 64-Bit-Anwendungen lassen sich nur noch mit Cocoa entwickeln, jener API, die unter NextStep konzipiert wurde.

« Zum vorigen Kapitel | Zum Inhaltsverzeichnis | Zum nächsten Kapitel »

Separator line

Fußnoten (Kapitel 5):

27 Dies gilt auch aus dem Blickwinkel der meisten Entwickler. Zurück

28 Das ab Microsoft Windows NT gebräuchliche Dateisystem. Zurück

29 Also Applikationen, die sich keiner von Apple verbotenen “schmutziger” Tricks bedienten, um ihre Dienste zu verrichten. Zurück

30 Final Cut Pro, Logic Pro und Motion. Zurück

31 http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/23 abgerufen am 8. September 2009 um 1:51 Uhr. Zurück

Separator line

blog comments powered by Disqus
Weitersagen

In diesem Kapitel:

Valid HTML 4.01 Transitional Valid CSS!