Zuhause Software Was ist ein Selbstverlagerungsprogramm? - Definition aus techopedia

Was ist ein Selbstverlagerungsprogramm? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet Selbstverlagerungsprogramm?

Ein selbstverschiebendes Programm ist ein Programm, das seine adressensensitiven Anweisungen in andere Teile des Speichers verschiebt. Das Programm führt einen eigenen Umzug durch und benötigt keinen Linker. Die Selbstverlagerung wird in Betriebssystemen mit gemeinsamer Zeitnutzung verwendet, bei denen sich die Ladeadresse eines Programms je nach Ausführung ändern kann.

Techopedia erklärt das Selbstverlagerungsprogramm

Ein sich selbst verschiebendes Programm verändert sich, um von einem anderen Ort des Speichers ausgeführt zu werden. Durch die Selbstverlagerung entfällt die Notwendigkeit, mehrere Kopien eines Programms auf einer Festplatte zu haben, wobei jede Kopie ihren eigenen unterschiedlichen Ladeursprung hat. Selbstverschiebende Programme sind jedoch nicht erforderlich, wenn der Computer virtuellen Speicher verwendet.

Während des Verschiebungsprozesses verschiebt das Programm seine sensiblen adressensensitiven Anweisungen, so dass es von jedem Teil des Speichers ausgeführt werden kann. Die Anforderungen für den Umzugsprozess sind wie folgt:

  • Eine Tabelle der adressensensitiven Anweisungen. Das Programm muss den übersetzten Ursprung und die Startadresse der Ausführung sowie die Adressen der adressensensitiven Anweisungen kennen.
  • Eine Verschiebungslogik, bei der es sich um den Code handelt, der den Verschiebungsprozess ausführt.

Die beiden Funktionen sind in das Programm integriert. Die Startadresse des Umsetzcodes wird normalerweise als Ausführungsstartadresse des Programms angegeben. Sobald das Programm zur Ausführung in den Speicher geladen ist, übernimmt die Verschiebungslogik die Steuerung und führt die Verschiebung unter Verwendung der Ladeadresse und der Informationen bezüglich der adressensensitiven Anweisungen durch.

Der Selbstverlagerungsprozess kann entweder statisch oder dynamisch sein. Die statische Verschiebung wird vor der Ausführung des Programms durchgeführt, während die dynamische Verschiebung während der Programmausführung durchgeführt wird. Die dynamische Verschiebung kann zuerst die Programmausführung anhalten und die Verschiebung durchführen oder ein Verschiebungsregister verwenden.

Selbstverschiebende Programme sind im Vergleich zu nachladbaren Programmen weniger effizient.

Abgesehen von echten selbstverlagernden Programmen verwenden Malware-Programme die gleiche Methode zur Selbstverlagerung, um sich durch Systeme und Netzwerke zu verbreiten und ihren Schadcode zu verbreiten.

Was ist ein Selbstverlagerungsprogramm? - Definition aus techopedia