Tradução de endereços


A tradução de endereços é um mecanismo para traduzir endereços virtuais para físico.

Para cada acesso de memória de um processo o sistema operacional comunica com o hardware para realizar uma interpolação para a tradução.

A seguir vamos ver algumas políticasde tradução de endereços, porém definiremos algumas suposições e a medida que fomos avançando e identificando as limitações das políticas mais simples, iremos desmistificando algumas suposições e introduzindo técnicas mais avançadas e complexas (mais próximo da realidade) para contornar essas limitações.

Suposições sobre o espaço de endereçamento:

  1. O espaço de endereçamento é alocado de forma contígua na memória principal
  2. O espaço de endereçamento cabe dentro da memória principal (por completo, sem precisar de swap em disco)
  3. Todos os espaços de endereçamento têm o mesmo tamanho

Com essas suposições impostas, vamos iniciar com uma reflexão:

Question

Como o sistema operacional consegue alocar o espaço de endereçamento de uma processo na memória principal de forma transparente?

A técnica mais simples é a alocação dinâmica, também conhecida como “técnica de base e limite”.

Referências


Aula de Sistemas Operacionais do dia 22/10/2024