File eseguibile: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
E' così che va letta la frase?
Riga 12:
Ogni [[sistema operativo]] ha una propria convenzione per distinguere i file eseguibili dai file che contengono dati. Alcuni sistemi utilizzano specifiche [[estensione (file)|estensioni]] (per esempio "<tt>.exe</tt>" in [[MS-DOS]] e [[Microsoft Windows]]); altri fanno riferimento a speciali attributi del file indicati nei suoi permessi (come il [[Permessi (Unix)|permesso]] "<tt>x</tt>" 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#Eseguibile Amiga Hunk|AmigaOS]] dove il magic number viene chiamato "magic cookie" o biscottino magico).
 
Normalmente, durante il l'[[caricamentoupload]] di un file eseguibile in [[RAM|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 [[dynamic-link library|librerie dinamiche]].
 
==Altri usi==