Rosetta (Apple)

Rosetta (Apple)

Rosetta ist der Name eines Frameworks, das zwischen 2006 und 2011 Bestandteil des Betriebssystems Mac OS X war und es ermöglichte, für PowerPC-Prozessoren kompilierte Programme unverändert auf x86-Prozessoren auszuführen. Der Name ist angelehnt an den Stein von Rosetta, der wesentlich zur Entzifferung der Hieroglyphen beitrug.

Inhaltsverzeichnis

Hintergründe

Im Jahr 2005 kündigte Apple an, von den seit 1994 eingesetzten, gemeinsam mit IBM und Motorola entwickelten PowerPC-Prozessoren auf x86-Prozessoren von Intel umzusteigen. Neben der völlig anderen Assemblersprache (Befehlssatz/Register) besteht ein weiterer wesentlicher Unterschied der Prozessortypen in der Verarbeitung der Byte-Reihenfolge (der PPC hat Big-Endian, der x86 hat Little-Endian).

Damit bisher entwickelte Software auch auf den neuen Intel-Macs genutzt werden konnte, lizenzierte Apple Technologien der Firma Transitive Technologies, die schon seit einigen Jahren Konvertierungsprogramme für unterschiedliche Prozessoren anbietet, und vermarktete die eigene Implementation unter dem Namen Rosetta.[1]

Gleichzeitig entwickelte Apple die eigenen Entwicklerwerkzeuge weiter und ermöglichte die Entwicklung von Universal Binaries, bei denen der ausführbare Code für mehrere Prozessorarchitekturen in einer einzigen Programmdatei verpackt ist.

Arbeitsweise

Rosetta ist ein sogenannter Dynamic Binary Translator, es läuft also im gleichen Prozess wie das auszuführende Programm und übersetzt einzelne Codeblöcke erst dann, wenn sie vom Programm aufgerufen werden. Teile des Programms, die nicht ausgeführt werden (zum Beispiel weil der Nutzer ein Feature des Programms nicht nutzt) werden also auch nicht übersetzt.[2]

Bei der Übersetzung wird der aufgerufene PowerPC-Codeblock zunächst in ein prozessorunabhängiges Zwischenformat übersetzt, woraus anschließend für die Zielarchitektur optimierter Code erzeugt wird. Dieser native Code wird dann auf der Hardware ausgeführt. Vergleichbare Software kommt teils auch ohne die Nutzung eines Zwischenformats aus, dieses wurde von Transitive vermutlich eingeführt, weil deren Software mehrere Quell- und Zielarchitekturen unterstützte.[3]

Im Gegensatz zu einer Emulation, bei der einzelne Anweisungen übersetzt werden, ermöglicht die blockweise Übersetzung von aufeinanderfolgenden Anweisungen ein semantisches Verständnis des zu übersetzenden Codeblocks und somit eine Optimierung des aus dem Zwischenformat erzeugten nativen Programmcodes.[1] Apple betonte daher selbst, dass keine Emulation stattfindet.[4]

Einschränkungen

Rosetta versteht Programmcode, der für einen PowerPC G3 und PowerPC G4 geschrieben wurde, und kann den gesamten AltiVec-Befehlssatz übersetzen. Software, die einen G5 voraussetzt, ist dagegen nicht ausführbar, dies betrifft jedoch nur sehr wenige Programme. Außerdem verweigert sich Rosetta allen hardwarenahen Funktionen; Kernel-Module oder Treiber für Scanner, Tastaturen und Audiogeräte lassen sich damit beispielsweise nicht übersetzen.

Weblinks

Einzelnachweise

  1. a b Lucas Graves: Can Apple Make The Switch? Interview mit Transitive-CEO Bob Wiederhold. In: Wired Magazine. Nr. 8, 2005 (online, abgerufen am 24. Juli 2011).
  2. Universal Binary Programming Guidelines. (Nicht mehr online verfügbar.) Apple, ehemals im Original, abgerufen am 8. Juni 2005 (englisch). Die verwendeten Ausschnitte sind auf daringfireball.net wiedergegeben.
  3. John Stokes: Thinking about Apple's Rosetta in light of Transmeta. arstechnica.com, August 2005, abgerufen am 24. Juli 2011 (englisch).
  4. Rosetta auf Apple.de. Apple, archiviert vom Original am 21. Dezember 2010, abgerufen am 24. Juli 2011 (englisch).

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Rosetta (Apple) — Rosetta  эффективный динамический транслятор, включённый в состав Mac OS X, позволяющий выполнять приложения, предназначенные для Power PC на компьютерах Apple, использующих процессоры Intel. Rosetta поддерживает работу с инструкциями G3, G4 …   Википедия

  • Rosetta (apple) — …   Википедия

  • Rosetta — Das Wort Rosetta bezeichnet Orte: einen ägyptischen Ort, siehe Rosette (Ägypten) einen Orte in den USA, siehe Rosetta (Mississippi) einen südafrikanischen Ort, siehe Rosetta (Südafrika) einen Berggipfel in der Palagruppe in den Dolomiten, siehe… …   Deutsch Wikipedia

  • Apple Mac OS X — Mac OS X Bildschirmfoto Logo von Mac OS X Basisdaten Entwickler …   Deutsch Wikipedia

  • Apple Power Mac — Power Macintosh oder auch Power Mac ist der Produktname für die Macintosh Modelle der Firma Apple mit PowerPC Prozessor. Die vorher nur umgangssprachlich benutzte Bezeichnung „Power Mac“ wird von Apple seit den G4 Modellen offiziell verwendet,… …   Deutsch Wikipedia

  • Apple Power Mac G4 — Power Macintosh oder auch Power Mac ist der Produktname für die Macintosh Modelle der Firma Apple mit PowerPC Prozessor. Die vorher nur umgangssprachlich benutzte Bezeichnung „Power Mac“ wird von Apple seit den G4 Modellen offiziell verwendet,… …   Deutsch Wikipedia

  • Apple Power Mac G5 — Power Macintosh oder auch Power Mac ist der Produktname für die Macintosh Modelle der Firma Apple mit PowerPC Prozessor. Die vorher nur umgangssprachlich benutzte Bezeichnung „Power Mac“ wird von Apple seit den G4 Modellen offiziell verwendet,… …   Deutsch Wikipedia

  • Apple Power Macintosh G5 — Power Macintosh oder auch Power Mac ist der Produktname für die Macintosh Modelle der Firma Apple mit PowerPC Prozessor. Die vorher nur umgangssprachlich benutzte Bezeichnung „Power Mac“ wird von Apple seit den G4 Modellen offiziell verwendet,… …   Deutsch Wikipedia

  • Apple Mac OS — Logo des Mac OS Mac OS [mæk oʊˈɛs] ist der Name des Betriebssystems von Apple für Macintosh Computer. Der Begriff ist abgeleitet von Macintosh Operating System, einer Bezeichnung, die so niemals verwendet wurde. Zwei Produktlinien werden… …   Deutsch Wikipedia

  • Rosetta (informatique) — Pour les articles homonymes, voir Rosetta. Rosetta (basée sur la technologie de Transitive) est un traducteur à la volée de code binaire d architecture PowerPC en x86, permettant l exécution sans modification des logiciels conçus et compilés pour …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”