4 Memoria Virtual
Turmas MBI1 e NBI2.
Prof: Marcelo Mendes.
Memória Virtual
Memória Virtual
Memória virtual (virtual memory) é uma técnica sofisticada e poderosa de gerência de memória, onde as memórias principal e secundária são combinadas, dando ao usuário a ilusão de existir uma memória muito maior que a memória principal. O conceito de memória virtual está baseado em desvincular o endereçamento feito pelos programas dos endereços físicos da memória principal. Assim, os programas e suas estruturas de dados deixam de estar limitados ao tamanho da memória física disponível.
A memória virtual também veio minimizar o sério problema da fragmentação da memória.
Espaço de Endereçamento Virtual
O conceito de memória virtual se aproxima muito da idéia de um vetor, existente nas linguagens de alto nível. Quando fazemos referência a um componente do vetor, não nos preocupemos em que posição de memória aquele dado está. O compilador se encarrega de gerar instruções que implementam esse mecanismo, tornando-se totalmente transparente para nós.
Espaço de Endereçamento Virtual
Espaço de Endereçamento Virtual
Um programa no ambiente de memória virtual não faz referências a endereços físicos de memória(endereços reais), mas a apenas endereços virtuais. No momento da execução de uma instrução, o endereço virtual é traduzido para um endereço físico, pois o processador acessa apenas posições da memória principal. O mecanismo de tradução virtual para endereço físico é denominado mapeamento.
O conjunto de endereços virtuais que os processos podem endereçar é chamado espaço de endereçamento virtual.
Mapeamento
Toda a estrutura do processo ou o programa executado em seu contexto precisa estar no espaço de endereçamento real para poder ser referenciado ou executado; portanto, deve existir um mecanismo que transforme os endereços virtuais em endereços reais.
Esse mecanismo, conhecido por mapeamento, permite ao sistema operacional traduzir um
endereço