Memória virtual
-
Upload
rodrigo-rodrigues -
Category
Documents
-
view
770 -
download
4
Transcript of Memória virtual
UFRPE/EADLicenciatura em Computação-6P
2011.1Tutor: Rodrigo Lins Rodrigues
Infraestrutura de Software
Aula – Memória virtual – Parte 1
Memória virtual
É uma técnica sofisticada e poderosa de gerência de memória, onde as memórias principal e secundária são combinadas;
Dar ao usuário a ilusão de existir uma memória muito maior que a capacidade real da memória principal;
Desta forma, programas e suas estruturas deixam de estar limitados ao tamanho da memória física, pois possuem endereços associados à memória secundária;
Permitindo um maior número de processos na “memória”;
Endereçamento virtual
Um programa no ambiente de memória virtual não faz referência a endereços físicos de memória, mas apenas a endereços virtuais;
No momento da execução o endereço virtual é traduzido para um endereço físico, pois o processador manipula apenas posições de memória principal;
Endereçamento virtual
O mecanismo de tradução do endereço virtual para o endereço físico é chamado de mapeamento;
Um programa pode fazer referência a endereços virtuais que estejam fora dos limites da memória principal;
Os programas não estão mais limitados ao tamanho da memória principal;
O S.O utiiza memória secundária como extensão da memória principal;
Mapeamento
O processador apenas executa instruções e referencia dados residentes no espaço de endereçamento real;
Tabelas de Mapeamento
A tabela de mapeamento relaciona os endereços virtuais do processo às suas posições na memória real;
Cada processo tem o seu espaço de endereçamento virtual como se possuísse sua própria memória;
As tabelas mapeiam blocos de dados, cujo tamanho determina o número de entradas existentes nas tabelas de mapeamento;
Existem S.Os que trabalham apenas com blocos de tamanho fixo (paginação), enquanto outro utilizam blocos de tamanho variável (segmentação), veremos a seguir.
Paginação
Permite espalhar processos por áreas não contíguas;
Divide espaço de endereçamento virtual conjunto de páginas,de mesmo tamanho, em potência de 2;
Espaço de endereçamento virtual está localizado na memória secundária Disco rígido;
O programa armazenado no disco é considerado o original e as suas partes que são trazidas para a memória são consideradas cópias.
Paginação
O espaço de endereçamento virtual contém endereços lógicos ou virtuais. O endereço virtual deve ser convertido para um endereço
real (endereço físico) antes de acessar a memória. É dividido em páginas lógicas de tamanho fixo.
O espaço de endereçamento físico, alocado na memória principal, é dividido em pedaços com o mesmo tamanho de página cada partição da memória principal pode armazenar exatamente uma página. Essa partição também é chamada de frame ou moldura de página.
9
Paginação
Física
Virtual
10
Paginação
Exemplo: O processo 1 possui 3 páginas, no entanto,
apenas duas estão carregadas na memória principal.
11
Endereçamento
Tabela de páginas
Estrutura de dados que relaciona endereços virtuais com endereços físicos
12
Endereçamento
13
Endereçamento
Tabela de Páginas – Informações adicionais Presente/Ausente -indica se a página está na memória
física; Desabilitar cache -Indica se a página pode ir para a
memória cache; Referenciada -indica se a página foi referenciada; Modificada -indicar se a página já foi modificada; Proteção - indica se a página está protegida.
14
Algoritmos de substituição de páginas
15
LRU - Least Recent Used
Baseia-se em: as páginas muito usadas nas últimas instruções, provavelmente serão nas próximas instruções;
Escolhe-se uma das páginas da classe com número mais baixo para substituição;
Classe 0 - páginas não-referenciadas e não-modificada; Classe 1 - páginas não-referenciadas, mas modificadas; Classe 2 - páginas referenciadas e não-modificadas; Classe 3 - páginas referenciadas e modificadas;
16
FIFO - First in First out
A página mais antiga é a primeira a ser substituída e a mais recente será a última;
No caso de necessidade de substituição, a página mais antiga será removida e a nova página colocada no final da lista;
O problema encontrado nessa abordagem é que existe a possibilidade de remoção de páginas muito referenciadas, ainda que estejam há muito tempo na memória.