Alocação dinâmico


A alocação dinâmica ou também conhecida como técnica de base e limite é a técnica mais elementar de tradução de endereçosao consistir na soma do valor de deslocamento em relação ao endereço 0 da memória física e o endereço virtual.

Há o suporte do hardware (MMU) ao utilizar de registradores para armazenar a base e o limite do espaço de endereçamento na MMU.

Ao iniciar um processo, o sistema operacional atribui ao processo uma base e um limite.

Note

A “base” também a chamado de offset, pois se trata de uma deslocamento em relação à posição 0 do endereço físico.

De forma resumida, o cálculo do endereço físico pode ser feito a partir da seguinte fórmula:

çíç

O limite garante que o acesso esteja dentro do espaço de endereçamento.

Note

Caso o limite seja ultrapassado, a CPU lançará uma erro e o sistema operacional encerrará o processo.

Até agora vimos como essa técnica define os limites do espaço de endereçamento e como é feita a conversão (tradução) do endereço virtual para o físico, porém voltando ao começo e analisando o nome dessa técnica “alocação dinâmica”, pode surgir a seguinte dúvida:

Question

Por que “dinâmica”?

Esse termo “dinâmica” refere-se a atribuição e alteração da base e limite para o processo acontece em tempo de execução.

Dessa forma, se o sistema operacional precisar realocar e redimensionar o processo, ele precisa realizar as seguintes tarefas:

  1. Interromper (ou suspender) o processo
  2. Tirar o processo da fila de execução
  3. Copiar os dados para o novo endereço na memória principal
  4. Alterar os valores salvos de base e limite
  5. Colocar o processo na fila de execução

Referências


Aula de Sistemas Operacionais do dia 22/10/2024