Zum Inhalt springen

Fat Binary

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 14. April 2026 um 15:03 Uhr durch imported>Fan-vom-Wiki (Tippfehler (Übersetzung)).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Die englische Bezeichnung {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (übersetzt: Fette Binärdatei) bezeichnet ein Computerprogramm, das sich unmodifiziert auf Rechnern ausführen lässt, deren CPUs eigentlich vollkommen unterschiedliche Befehlssatzarchitekturen ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value), 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

Datei:Apple-Universal-binary-logo.png
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 damals 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 setzte Apple erneut Fat Binaries ein. Allerdings wurden diese nun als Universal Binary bezeichnet, einem Format, das theoretisch die Vereinigung von Code für bis zu über vier Milliarden<ref>Universal Binaries and 32-bit/64-bit PowerPC Binaries. Apple Developer Connection, 4. Februar 2009, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 25. Juli 2008; abgerufen am 13. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> unterschiedliche Architekturen ermöglicht.

Linux

Datei:FatELF-logo.png
Logo der Linux Fat Binary-Implementierung FatELF

FatELF ist eine Fat-Binary-Implementierung für Linux und andere unixoide Betriebssysteme von Ryan C. Gordon.<ref>icculus.org</ref> Umgesetzt ist FatELF als Erweiterung des ELF Binärformats.<ref name="fatelfspec">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig fatelf-specification v1.] icculus.org, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 25. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Neben verschiedenen CPU-Architekturen mit variierenden Datenwortgrößen (z. B. 32-Bit oder 64-Bit Systeme) oder Byte-Reihenfolge können auch Software-Plattformvariationen unterstützt werden, wie verschiedene OS ABIs (oder Versionen). Hieraus ergeben sich laut den Entwicklern folgende Anwendungsszenarien:<ref name="fatelf">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig FatELF: Universal Binaries for Linux.] icculus.org, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 13. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

Eine Beispielimplementierung für Ubuntu 9.04 ist verfügbar.<ref>VM eines Ubuntu 9.04 mit “fat binary support”. icculus.org</ref> Eine Integration in den Linux-Kernel steht noch aus.<ref name="kernel1">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig FatELF: Turns out I liked the uncertainty better.] icculus.org, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 13. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref name="kernel2">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Ryan Gordon Halts FatELF Project.] osnews.com, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 5. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref name="selfanatomy">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig SELF: Anatomy of an (alleged) failure.] Linux Weekly News, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 6. Februar 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

Einzelnachweise

<references />