|
Article on other languages:
|
In informatica, un file eseguibile, o semplicemente un eseguibile, è un file che contiene un programma eseguibile per un computer, ovvero un programma scritto in linguaggio macchina nel formato adatto ad essere caricato dal sistema operativo, quindi pronto per l'esecuzione. Si distingue da un file sorgente, che contiene un programma scritto in un linguaggio di programmazione ad alto livello il quale può essere eseguito solo utilizzando un compilatore, un interprete, o una combinazione di questi due strumenti. In generale, gli eseguibili sono dipendenti dalla piattaforma: per esempio, un file eseguibile per un sistema Microsoft Windows non è direttamente utilizzabile in sistemi Unix o Mac OS (a meno di non usare un software di emulazione[1]). Questa restrizione è dovuta a tre motivi:
Di conseguenza, anche a parità di processore, un file eseguibile per un particolare sistema operativo è in genere inutilizzabile su altre piattaforme. Ad esempio, i file eseguibili per i sistemi Microsoft Windows su architettura x86 non possono essere utilizzati direttamente[1] su sistemi Linux su architettura x86, anche se queste entrambi utilizzano la stessa classe di processori. Ogni sistema operativo ha una propria convenzione per distinguere i file eseguibili dai file che contengono dati. Alcuni sistemi utilizzano specifiche estensioni (per esempio ".exe" in MS-DOS e Microsoft Windows); altri fanno riferimento a speciali attributi del file indicati nei suoi permessi (come il permesso "x" di esecuzione dei sistemi Unix e Unix-like) o richiedono uno speciale marcatore in una posizione prestabilita all'interno del file stesso: ancora su Unix, per esempio, congiuntamente al bit "x", viene utilizzato anche il cosiddetto magic number, ovvero uno o più byte con valori prestabiliti collocati all'inizio del file che ne identificano il tipo, come nel caso dello shabang (questa idea è stata estesa ad altri sistemi operativi tra cui AmigaOS dove il magic number viene chiamato "magic cookie" o biscottino magico). Normalmente, durante il caricamento di un file eseguibile in memoria, il codice macchina viene sottoposto a un processo di rilocazione. In altre parole, tutti i riferimenti a indirizzi di memoria presenti nel codice vengono opportunamente traslati in funzione dell'indirizzo di base in cui il programma viene effettivamente caricato. Questo problema è mitigato dall’uso della memoria virtuale; può tuttavia essere necessaria la rilocazione delle librerie dinamiche. Altri usiIl termine eseguibile viene talvolta utilizzato in senso esteso per riferirsi anche a tutti quei programmi che possono essere eseguiti senza una previa traduzione esplicita (compilazione) in linguaggio macchina. In questo caso esso potrebbe essere applicato anche a:
NoteVoci correlate |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net