Índice:
- Definição - O que significa Programa de Auto-Realocação?
- Techopedia explica Programa de Auto-Realocação
Definição - O que significa Programa de Auto-Realocação?
Um programa de realocação automática é aquele que realoca suas instruções sensíveis ao endereço para outras partes da memória. O programa executa sua própria realocação e não requer um vinculador. A realocação automática é usada nos sistemas operacionais de compartilhamento de tempo em que o endereço de carga de um programa pode mudar para cada execução diferente.
Techopedia explica Programa de Auto-Realocação
Um programa de realocação automática se altera para ser executado a partir de um local diferente da memória. A realocação automática elimina a necessidade de ter várias cópias de um programa em um disco, com cada cópia tendo sua própria origem de carregamento diferente. No entanto, os programas de realocação automática não são necessários quando o computador usa memória virtual.
Durante o processo de realocação, o programa realoca suas instruções sensíveis a endereços sensíveis, o que lhe permite executar a partir de qualquer parte da memória. Os requisitos para o processo de realocação são os seguintes:
- Uma tabela das instruções sensíveis ao endereço. O programa deve conhecer a origem traduzida e o endereço de início da execução, bem como os endereços das instruções sensíveis ao endereço.
- Uma lógica de realocação, que é o código que executa o processo de realocação.
As duas funções estão embutidas no programa; o endereço inicial do código de realocação é geralmente especificado como o endereço inicial de execução do programa. Depois que o programa é carregado na memória para execução, a lógica de realocação assume o controle e realiza a realocação usando o endereço de carregamento e as informações relacionadas às instruções sensíveis ao endereço.
O processo de auto-realocação pode ser estático ou dinâmico. A realocação estática é realizada antes da execução do programa, enquanto a realocação dinâmica é realizada durante a execução do programa. A realocação dinâmica pode primeiro suspender a execução do programa e executar a realocação ou usar um registro de realocação.
Programas de realocação automática são menos eficientes em comparação com programas recarregáveis.
Além dos programas genuínos de realocação automática, os programas de malware usam o mesmo método de realocação para se propagar através de sistemas e redes para espalhar seu código malicioso.