Sommario:
- Definizione - Cosa significa Programma di auto-spostamento?
- Techopedia spiega il programma di auto-trasferimento
Definizione - Cosa significa Programma di auto-spostamento?
Un programma auto-riposizionante è uno che trasferisce le sue istruzioni sensibili agli indirizzi ad altre parti della memoria. Il programma esegue il proprio trasferimento e non richiede un linker. L'auto-riposizionamento viene utilizzato nei sistemi operativi di condivisione del tempo in cui l'indirizzo di caricamento di un programma può cambiare per ogni diversa esecuzione.
Techopedia spiega il programma di auto-trasferimento
Un programma auto-riposizionante si altera per essere eseguito da una diversa posizione della memoria. L'auto-riposizionamento elimina la necessità di disporre di più copie di un programma su un disco, con ciascuna copia con origine di caricamento diversa. Tuttavia, i programmi auto-riposizionanti non sono necessari quando il computer utilizza la memoria virtuale.
Durante il processo di trasferimento, il programma trasferisce le sue istruzioni sensibili sensibili agli indirizzi, che gli consentono di eseguire da qualsiasi parte della memoria. I requisiti per il processo di trasferimento sono i seguenti:
- Una tabella delle istruzioni sensibili agli indirizzi. Il programma deve conoscere l'origine tradotta e l'indirizzo iniziale dell'esecuzione, nonché gli indirizzi delle istruzioni sensibili agli indirizzi.
- Una logica di trasferimento, che è il codice che esegue il processo di trasferimento.
Le due funzioni sono integrate nel programma; l'indirizzo iniziale del codice di trasferimento viene di solito specificato come indirizzo iniziale di esecuzione del programma. Una volta che il programma è stato caricato nella memoria per l'esecuzione, la logica di riposizionamento prende il controllo ed esegue il riposizionamento utilizzando l'indirizzo di caricamento e le informazioni relative alle istruzioni sensibili dell'indirizzo.
Il processo di auto-trasferimento può essere statico o dinamico. Il trasferimento statico viene eseguito prima dell'esecuzione del programma, mentre il trasferimento dinamico viene eseguito durante l'esecuzione del programma. Il trasferimento dinamico può prima sospendere l'esecuzione del programma ed eseguire il trasferimento, oppure utilizzare un registro di trasferimento.
I programmi auto-riposizionanti sono meno efficienti rispetto ai programmi ricaricabili.
Oltre ai programmi di auto-trasferimento, i programmi di malware utilizzano lo stesso metodo di auto-trasferimento per propagarsi attraverso sistemi e reti per diffondere il loro codice dannoso.