Un fat binary (o multiarchitecture binary) è un programma nativo per più set di istruzioni (SI) ed è quindi eseguibile su più tipi di architetture di processori. Il metodo usuale di implementazione consiste nell'inclusione di una versione del linguaggio macchina per ogni SI, realizzando un file n volte più grande di un binario per una sola architettura, da cui il nome.

Un popolare utilizzo di programmi fat binary è stato per il PowerPC della Apple Macintosh, dove un programma avrebbe dovuto contenere sia le istruzioni per il processore Motorola 68000 che quelle per il PowerPC. Ciò fu reso possibile dall'inserimento del codice per PowerPC (nel formato PEF) all'interno del data fork del programma, mentre il codice per 68000 venne mantenuto nel resource fork. I programmi Fat binary sono usati anche per la transizione dal processore PPC verso x86 tra il 2006 e il 2007. Apple ha scelto di chiamare questi binari "Universal binary", probabilmente per distinguere questa nuova transizione di processori da quella precedente.[1][2]

Il codice oggetto Mach-O usato nei sistemi operativi NEXTSTEP e OPENSTEP della NeXT supporta il formato fat binary, il che permette al software sviluppato per NeXT Cube di essere compilato eseguito su una macchina Intel sopra NeXTSTEP. Questa tecnologia è inoltre disponibile in Darwin, e quindi macOS, dove può essere usato per supportare più varianti di una architettura, avendo differenti versione del codice compilato per processori PowerPC G3, PowerPC G4, e PowerPC G5. Questa soluzione è stata adottata inizialmente per permettere l'esecuzione di applicazioni OpenStep su processori IA-32 e sulle varie piattaforme RISC supportate, ed ha trovato un nuovo utilizzo nell transizione da PPC a X86 precedentemente menzionata.

Il supporto al formato fat binary non è lo stesso su diversi sistemi operativi; ci sono molte alternative per risolvere il problema, quali l'uso di un programma di installazione per scegliere il binario specifico per l'architettura al momento dell'installazione, distribuendo il codice sorgente del programma e compilandolo al momento, o usando una macchina virtuale ed un Compilatore just-in-time. Ognuna di queste soluzioni ha i suoi svantaggi, che si manifestano maggiormente se l'utente cerca di portare un programma su una nuova macchina attraverso un upgrade.

Note

modifica
  1. ^ (EN) FatELF: universal binaries for Linux, su lwn.net. URL consultato l'11 febbraio 2020.
  2. ^ (EN) Amit Singh, Mac OS X Internals. URL consultato l'11 febbraio 2020.

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Universal binary

della stessa applicazione. Apple aveva usato una tecnica simile, chiamata Fat binary, durante la transizione dai processori della serie Motorola 68000 al PowerPC

Hexspeak

inizializzata. 0xCAFEBABE (cafe babe, "ragazza del caffè") è usato da Mach-O ("Fat binary" nelle architetture 68k and PowerPC) per identificare file oggetto, e

One Be Lo

statunitense dell'underground hip hop.. È noto per essere la metà del duo Binary Star, ma ha anche realizzato diversi album come solista. Raland Scruggs

Python

bin(int(Y)) Z = bin(int(Z)) binary_colour = (str(X) + " " + str(Y) + " " + str(Z)) print("Colour coded by binary digits: " + str(binary_colour[2:])) def RGB_hex():

S.O.N.O.G.R.A.M.

rapper underground One Be Lo, in passato conosciuto come OneManArmy dei Binary Star. Per la fine del 2005 l'album ha venduto più di 13,000. L'acronimo

Application programming interface

giugno 2024. Libreria (software) Linguaggio di programmazione Application binary interface API key Altri progetti Wikizionario Wikimedia Commons Wikizionario

Applicazioni di sistema Apple

file system supportati, sia in lettura sia in scrittura, sono APFS, HFS+, ExFAT e FAT32 (NTFS in sola lettura). L'app File contiene uno scanner per digitalizzare

WordPress

Cafelog, su cafelog.com. URL consultato il 25 ottobre 2013. ^ (EN) Kubrick at Binary Bonsai, su binarybonsai.com. URL consultato il 25 ottobre 2013 (archiviato