Fat binary: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Abisys.bot (discussione | contributi)
m top: ., replaced: Mac OS XmacOS
m ortografia
Riga 5:
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 [[Preferred Executable Format|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.
 
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 [[Apple Darwin|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 970|PowerPC G5]]. Questa soluzione è stata adottata inizialmente per permettere l'esecuzione di appliacazioniapplicazioni OpenStep su processori [[IA-32]] e sulle varie piattaforme [[Reduced instruction set computer|RISC]] supportate, ed ha trovato un nuovo utilizzo nell [[Transizione Apple Intel|transizione da PPC a X86]] precedentemente menzionata.
 
Il supporto al formato fat binary non è lo stesso su diversi [[sistema operativo|sistemi operativi]]; ci sono molte alternative per risolvere il problema, quali l'uso di un [[Installer|programma di installazione]] per scegliere il binario specifico per l'architettura al momento dell'installazione, distribuendo il [[codice sorgente]] del programma e [[compilatore|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.