Fat Binary

Fat Binary

Die englische Bezeichnung Fat Binary (übersetzt: Dicke Binärdatei) bezeichnet ein Computerprogramm, das sich unmodifiziert auf Rechnern ausführen lässt, deren CPUs eigentlich vollkommen unterschiedliche Befehlssatzarchitekturen (engl. Instruction Set Architecture, kurz: ISA) besitzen. Dies wird durch die Zusammenfassung mehrerer auf den jeweiligen CPU-Typen lauffähiger Programme in einer entsprechend strukturierten binären Containerdatei erreicht. Das Betriebssystem ist dann dafür zuständig, das benötigte Programm aus diesem Container zu laden und auszuführen.

Apple

Apple Universal Binary Logo

Fat Binaries wurden beispielsweise eingesetzt, als Apple 1994 von den CPUs der 68k-Familie zum PowerPC wechselte. Viele in der Übergangszeit veröffentlichten Programme enthalten Maschinencode sowohl für Macintosh-Rechner mit einer CPU aus der 68k-Familie als auch für solche mit dem neuen PowerPC.

Für den Übergang von den PowerPC-CPUs zu den Intel-CPUs aus der Core-Duo- und der Core-2-Duo-Serie im Jahr 2006 setzt Apple erneut Fat Binaries ein. Allerdings werden diese nun als Universal Binary bezeichnet, ein Format, das theoretisch die Vereinigung von Code für bis zu über vier Milliarden[1] unterschiedliche Architekturen möglich macht.

Linux

Logo der Linux Fat Binary-Implementierung FatELF

FatELF ist eine Fat Binary-Implementierung für Linux und andere unixoide Betriebssysteme. Umgesetzt ist FatELF als Erweiterung des ELF Binärformats.[2] Neben verschiedenen CPU-Architekturen mit variierenden Datenwortgrößen (z. B. 32-Bit oder 64-Bit Systeme) oder Byte-order können auch Software-Plattformvariationen unterstützt werden, wie verschiedene OS ABIs (oder Versionen). Hieraus ergeben sich laut den Entwicklern folgende Anwendungszenarien:[3]

  • Linux-Distributionen brauchen nicht mehr für verschiedene Hardwarearchitekturen getrennt angeboten werden, die Wahl der korrekten Version ist für Anwender manchmal verwirrend. Dadurch reduziert sich auch der Bereitstellungs- und Supportaufwand für den Distributor.
  • Es kann im Betriebssystemverzeichnisbaum auf separierte Verzeichnis für /lib, /lib32 und /lib64 verzichtet werden.
  • Die Wahl der korrekten Anwendungsdatei und Programmbibliothek wird an zentraler Stelle vom Betriebssystem durchgeführt anstelle durch unsichere Shell-skripte.
  • Sollte sich die ELF ABI ändern könnte neu erstellte Software auch weiterhin auf älteren Systemen lauffähig sein.
  • Es können Webbrowser-Plugins ausgeliefert werden, die direkt auf verschiedenen Plattformen laufen.
  • Anwendungsdateien für 64- und 32-Bit-Architekturen oder für Linux und BSD-variationen können in einer einzigen Datei vereint werden.
  • Die gleiche Installationspartition kann zum booten von verschiedener Hardware verwendet werden. Ein root file system, verschiedene Kernel- und Hardwareversionen sind möglich.
  • Es würde die Verbreitung von kommerziellen, vorkompilierten Computerspielen auf der Linuxplattform (distributionsübergreifend) deutlich vereinfachen[4] und eine längerfristigere Nutzung, z. B. über mehrere Distributionsupgrades hinweg erlauben.[5]
  • Eine Applikation die auf einem Netzlaufwerk oder USB Stick bereitgestellt wird, kann auf verschiedensten Systemen lauffähig sein. Hierdurch sind portable Applikationen und auch Cloud Computing-Images für heterogene Systeme leichter realisierbar.[6]

Eine Beispielimplementierung für Ubuntu 9.04 ist verfügbar (VM eines Ubuntu 9.04 mit Fat Binary Support). Eine Integration in den Linux-Kernel steht noch aus.[7][8][9]

Nachweise

  1. Universal Binaries and 32-bit/64-bit PowerPC Binaries. Apple Developer Connection (4. Februar 2009). Abgerufen am 13. Juli 2010.
  2. Ryan Gordon: fatelf-specification v1. icculus.org. Abgerufen am 25. Juli 2010.
  3. Ryan Gordon: FatELF: Universal Binaries for Linux.. icculus.org. Abgerufen am 13. Juli 2010.
  4. Nicholas Vining (13. Oktober 2010): Dear Linux Community: We Need To Talk. (englisch). gaslamp Games. Abgerufen am 30. Januar 2011.
  5. Dan McKay (6. Dezember 2006): Lokigames In Slackware Linux 11.0 (englisch). Abgerufen am 30. Januar 2011. „deutsch: Beschreibung der komplizierten Patch-Techniken um Inkompatibilitäten durch Versionupdates innerhalb einer Distribution zu umgehen
  6. Eric Windisch (3. November 2009): Subject: Newsgroups: gmane.linux.kernel, Re: FatELF patches.... gmane.org. Abgerufen am 8. Juli 2010.
  7. Ryan Gordon: FatELF: Turns out I liked the uncertainty better.. icculus.org. Abgerufen am 13. Juli 2010.
  8. Thom Holwerda (3. November 2009): Ryan Gordon Halts FatELF Project. osnews.com. Abgerufen am 5. Juli 2010.
  9. Joe Brockmeier (June 23, 2010): SELF: Anatomy of an (alleged) failure. Linux Weekly News. Abgerufen am 6. Februar 2011.

Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

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

  • Fat binary — A fat binary (or multiarchitecture binary) is a computer program that is native to multiple instruction set architectures (ISA) and thus can be run on multiple processor types. The usual method of implementation is to include a version of the… …   Wikipedia

  • Fat binary — Die englische Bezeichnung Fat Binary (übersetzt: Dicke Binärdatei) bezeichnet ein Computerprogramm, das sich unmodifiziert auf Rechnern ausführen lässt, deren CPUs eigentlich vollkommen unterschiedliche Befehlssatzarchitekturen (engl. Instruction …   Deutsch Wikipedia

  • Fat Binary — unter Macintosh: Programm mit M68k und PPC Code …   Acronyms

  • Fat Binary — unter Macintosh: Programm mit M68k und PPC Code …   Acronyms von A bis Z

  • Fat Application —   [dt. »fette Anwendung«] die, (Fat Binary), ein umfangreiches Anwendungsprogramm, das bestimmte Teile in mehrfacher Ausfertigung enthält: Diese Teile sind in Maschinensprache für verschiedene Prozessoren so geschrieben, dass sie die… …   Universal-Lexikon

  • Fat File — Universal Binaries (auf deutsch in etwa universelle Binärdatei) sind im Apple Jargon ausführbare Dateien (d. h. Programme), die nativ sowohl auf einem PowerPC basierten Apple Computer als auch auf einem x86 (Intel) basierenden Apple Computer… …   Deutsch Wikipedia

  • Binary Star (band) — Infobox musical artist Name = Binary Star Background = group or band Origin = Pontiac, Michigan, United States Genre = Alternative Hip Hop Years active = 1998 2000 Label = Subterraneous Associated acts = URL = Past members = One Be Lo Senim… …   Wikipedia

  • Universal binary — A universal binary is, in Apple parlance, an executable file or application bundle that runs natively on either PowerPC or x86 (Intel) based Macintosh computers. It was introduced at the 2005 WWDC as a means to ease the transition from the… …   Wikipedia

  • Universal Binary — Universal Binaries (auf deutsch in etwa universelle Binärdatei) sind im Apple Jargon ausführbare Dateien (d. h. Programme), die nativ sowohl auf einem PowerPC basierten Apple Computer als auch auf einem x86 (Intel) basierenden Apple Computer… …   Deutsch Wikipedia

  • Rosetta (binary translation software) — Infobox Software | name = Rosetta logo = caption = PowerPC application (Microsoft Word for Mac 2004) running on OS X for Intel developer = Apple Inc. latest release version = latest release date = operating system = Mac OS X genre = PowerPC… …   Wikipedia

Share the article and excerpts

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