Definición - ¿Qué significa programa de auto-reubicación?
Un programa de auto-reubicación es aquel que reubica sus instrucciones sensibles a la dirección a otras partes de la memoria. El programa realiza su propia reubicación y no requiere un enlazador. La auto-reubicación se usa en sistemas operativos de tiempo compartido donde la dirección de carga de un programa puede cambiar para cada ejecución diferente.
Techinfo explica el programa de reubicación automática
Un programa que se reubica automáticamente se altera para ejecutarse desde una ubicación diferente de la memoria. La auto-reubicación elimina la necesidad de tener varias copias de un programa en un disco, y cada copia tiene su propio origen de carga diferente. Sin embargo, los programas de reubicación automática no son necesarios cuando la computadora usa memoria virtual.
Durante el proceso de reubicación, el programa reubica sus instrucciones sensibles sensibles a la dirección, lo que le permite ejecutar desde cualquier parte de la memoria. Los requisitos para el proceso de reubicación son los siguientes:
- Una tabla de instrucciones sensibles a la dirección. El programa debe conocer el origen traducido y la dirección de inicio de ejecución, así como las direcciones de las instrucciones sensibles a la dirección.
- Una lógica de reubicación, que es el código que realiza el proceso de reubicación.
Las dos funciones están integradas en el programa; la dirección de inicio del código de reubicación generalmente se especifica como la dirección de inicio de ejecución del programa. Una vez que el programa se carga en la memoria para su ejecución, la lógica de reubicación toma el control y realiza la reubicación utilizando la dirección de carga y la información relacionada con las instrucciones sensibles a la dirección.
El proceso de auto-reubicación puede ser estático o dinámico. La reubicación estática se realiza antes de que se ejecute el programa, mientras que la reubicación dinámica se realiza durante la ejecución del programa. La reubicación dinámica puede suspender primero la ejecución del programa y realizar la reubicación, o utilizar un registro de reubicación.
Los programas de reubicación automática son menos eficientes en comparación con los programas recargables.
Aparte de los programas genuinos de auto-reubicación, los programas de malware utilizan el mismo método de auto-reubicación para propagarse a través de sistemas y redes para difundir su código malicioso.