Fat binary: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
YurikBot (discussione | contributi)
m robot Aggiungo: de:Fat Binary
Collegamenti esterni: Creato la sezione e aggiunto il template "FOLDOC"
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android
 
(15 versioni intermedie di 12 utenti non mostrate)
Riga 1:
{{F|software|settembre 2012}}
Un '''fat binary''' (o '''multiarchitecture binary''') è un [[Programma (informatica)|programma]] nativo per più [[Instruction set| 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 '''fat binary''' (o '''multiarchitecture binary''') è un [[Programma (informatica)|programma]] nativo per più [[Instruction set| 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 [[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.
 
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.<ref name="lwn._FatE">{{Cita web |titolo=FatELF: universal binaries for Linux |accesso=11 febbraio 2020 |url= https://lwn.net/Articles/359070/ |lingua=en }}</ref><ref name="book_MacO">{{Cita libro |titolo=Mac OS X Internals |autore=Amit Singh |accesso=11 febbraio 2020 |url= https://books.google.it/books?id=K8vUkpOXhN4C&pg=PA66&lpg=PA66 |lingua=en }}</ref>
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 [[Mac OS X]], 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 appliacazioni OpenStep su processori [[IA-32]] e sulle varie piattaforme [[RISC]] supportate, ed ha trovato un nuovo utilizzo nell [[Transizione Apple Intel|transizione da PPC a X86]] precedentemente menzionata.
 
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 [[Mac OS XmacOS]], 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.
 
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.
[[Categoria:Software]]
== Note ==
 
<references/>
[[de:Fat Binary]]
 
[[en:Fat binary]]
== Collegamenti esterni ==
[[ja:ファットバイナリ]]
* {{FOLDOC||fat binary}}
 
{{portale|informatica}}
 
[[Categoria:Software di sistema]]