O que é ligação de endereço?

Tela plana do computador e teclado - vista lateral

A vinculação de endereço aloca a memória do computador para o software.

Crédito da imagem: Ryan McVay / Photodisc / Getty Images

A memória do computador usa endereços lógicos e endereços físicos. A vinculação de endereço aloca um local de memória física para um ponteiro lógico, associando um endereço físico a um endereço lógico, que também é conhecido como endereço virtual. A vinculação de endereço faz parte do gerenciamento da memória do computador e é executada pelo sistema operacional em nome dos aplicativos que precisam de acesso à memória.

Gestão de Memória

A vinculação de endereço está relacionada a como o código de um programa é armazenado na memória. Os programas são escritos em texto legível, seguindo uma série de regras estabelecidas pelos requisitos estruturais de a linguagem de programação, e usando palavras-chave que são interpretadas em ações pelo Processamento Central do computador Unidade. O ponto em que a versão executável de um programa é criada determina quando ocorre a associação de endereço. Algumas linguagens de programa, como "C" e COBOL, precisam ser compiladas, enquanto outras, principalmente scripts, são executadas a partir do texto do programa original, em vez de uma versão binária compilada por código de máquina.

Vídeo do dia

Tempo de compilação

O primeiro tipo de ligação de endereço é a ligação de endereço de tempo de compilação. Isso aloca um espaço na memória para o código de máquina de um computador quando o programa é compilado em um arquivo binário executável. A associação de endereço aloca um endereço lógico ao ponto inicial do segmento na memória onde o código do objeto está armazenado. A alocação de memória é de longo prazo e pode ser alterada apenas recompilando o programa.

Tempo de carregamento

Se a alocação de memória for designada no momento em que o programa for alocado, nenhum programa poderá ser transferido de um computador para outro em seu estado compilado. Isso ocorre porque o código executável conterá alocações de memória que podem já estar em uso por outros programas no novo computador. Nesse caso, os endereços lógicos do programa não são vinculados aos endereços físicos até que o programa seja chamado e carregado na memória.

Tempo de execução

A vinculação de endereço de tempo de execução geralmente se aplica apenas a variáveis ​​em programas e é a forma mais comum de vinculação para scripts, que não são compilados. Nesse cenário, o programa solicita espaço de memória para uma variável em um programa na primeira vez que essa variável é encontrada durante o processamento de instruções no script. A memória alocará espaço para essa variável até que a sequência do programa termine ou a menos que uma instrução específica no script libere o endereço de memória vinculado a uma variável.