Innholdsfortegnelse:
Definisjon - Hva betyr selvutflyttende program?
Et selvflyttende program er et som flytter sine adressefølsomme instruksjoner til andre deler av minnet. Programmet utfører sin egen flytting og krever ikke en linker. Selvflytting brukes i tidsdelingsoperativsystemer der lastens adresse til et program kan endres for hver forskjellige utførelse.
Techopedia forklarer Self Relocating Program
Et selvflyttende program endrer seg for å utføre fra et annet sted i minnet. Selvflytting eliminerer behovet for å ha flere kopier av et program på en disk, hvor hver kopi har sitt eget forskjellige belastningsopprinnelse. Selvflyttende programmer er imidlertid ikke nødvendig når datamaskinen bruker virtuelt minne.
Under flytteprosessen flytter programmet sine følsomme adressefølsomme instruksjoner, som lar det utføre fra hvilken som helst del av minnet. Kravene til flytteprosessen er som følger:
- En tabell med adressefølsomme instruksjoner. Programmet må kjenne oversatt opprinnelse og utførelsesstartadresse samt adressene til de adressefølsomme instruksjonene.
- En flyttelogikk, som er koden som utfører flytteprosessen.
De to funksjonene er innebygd i programmet; startadressen til flyttingskoden spesifiseres vanligvis som utførelsesstartadressen til programmet. Når programmet er lastet inn i minnet for utførelse, tar flyttelogikken kontroll og utfører flyttingen ved hjelp av lasteadressen og informasjonen om adressefølsomme instruksjoner.
Selveflyttingsprosessen kan være statisk eller dynamisk. Statisk flytting utføres før programmet kjøres, mens dynamisk flytting utføres under utførelsen av programmet. Dynamisk flytting kan først stoppe programutførelsen og utføre flyttingen, eller bruke et flyttingsregister.
Selvflyttende programmer er mindre effektive sammenlignet med omlastbare programmer.
Bortsett fra ekte selvflyttende programmer, bruker malware-programmer den samme selvflyttingsmetoden for å forplante seg gjennom systemer og nettverk for å spre sin ondsinnede kode.