Instituto Federal de Educação,
Ciência e Tecnologia - Alagoas
Sistemas de Computação
Gerência de Memória Virtual
Aulas 106-108
Sumário
1. Introdução 2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. ThrashingSumário
1. Introdução 2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing1. Introdução
●
Capítulo 9 – Gerência de Memória
»
Apresentou diversas técnicas evolutivas degerenciamento de memória
Contudo, essas técnicas tornaramse ineficientes com
o passar do tempo.
»
Nova abordagem:Gerência de Memória Virtual
Sumário
1. Introdução 2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing2. Espaço de Endereçamento Virtual
●Analogia com vetor
»
No momento da execução de uma instrução, o endereço virtual referenciado é traduzido para um endereço físico. E n d e r e ç o F í s i c o 5 0 0 5 0 1 5 0 2 5 0 3 5 0 4 . . . V E T [ 1 ] V E T [ 2 ] V E T [ 3 ] V E T [ 4 ] V E T [ 5 ] . . . . . .2. Espaço de Endereçamento Virtual
●Processo:
Contexto de hardware Contexto de software Espaço de endereçamento»
Quando se utiliza memória virtual Espaço de endereçamento virtual Espaço de endereçamento real2. Espaço de Endereçamento Virtual
Es p a ço d e e n d er eç a m e n to v ir tu a l Es p a ço d e en d er eç a m en to r ea l E n d e r e ç o v i r tu a l 0 E n d e r e ç o v i r tu a l 1 E n d e r e ç o v i r tu a l 2 E n d e r e ç o v i r tu a l 3 E n d e r e ç o v i r tu a l 4 E n d e r e ç o v i r tu a l 5 . . . E n d e r e ç o r e a l 0 E n d e r e ç o r e a l 1 E n d e r e ç o r e a l 2 E n d e r e ç o r e a l 3 . . . E n d e r e ç o r e a l R2. Espaço de Endereçamento Virtual
●
Observações
»
O espaço de endereçamento virtual não temnenhuma relação direta com os endereços no
espaço real Logo > é possível referenciar endereços fora do limite da memória principal De que forma? – Utilizase a memória secundária como extensão da memória principal
2. Espaço de Endereçamento Virtual
●Observe:
»
Somente uma parte do programa é carregada»
Permite aumentar o compartilhamento da memória principal entre muitos processos M e m ó r i a V i r t u a l . . . . M e m ó r i a P r i n c i p a l M e m ó r i a S e c u n d á r i a . . .2. Espaço de Endereçamento Virtual
●
Observações:
»
Compiladores e linkers se encarregam de gerar o código executável em função do espaço deSumário
1. Introdução 2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing3. Mapeamento
●
Note:
»
O processador só executa instruções e referenciadados residentes no espaço de endereçamento real...
3. Mapeamento
●...
M e m ó r i a V i r t u a l M e m ó r i a P r i n c i p a l M a p e a m e n t o . . . . . .3. Mapeamento
●O Mapeamento é uma tarefa conjunta:
»
Sistema Operacional»
Hardware»
Objetivo: Não sobrecarregar o S. O. com essa tarefa»
MMU – Memory Management Unit Dispositivo de hardware responsável por essa tradução3. Mapeamento
P r o c e s s o A E s p a ç o d e e n d e r e ç a m e n t o v i r t u a l d e A E n d e r e ç o v i r t u a l 1 . . . T a b e l a d e m a p e a m e n t o d e A E s p a ç o d e e n d e r e ç a m e n t o v i r t u a l d e B E n d e r e ç o v i r t u a l 1 . . . T a b e l a d e m a p e a m e n t o d e B M e m ó r i a P r i n c i p a l3. Mapeamento
●
Tabelas de tradução
»
Mapeiam blocos de dados, cujo tamanho determinao número de entradas existentes nas tabelas de mapeamento
3. Mapeamento
●Observações
»
Existem Sistemas Operacionais que trabalham com: Blocos de tamanho fixo – Nome da Técnica: Paginação Blocos de tamanho variável – Nome da Técnica: Segmentação Ambas as técnicas – Nome da Técnica: Segmentação com paginaçãoSumário
1. Introdução 2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing4. Memória Virtual por Paginação
●Nome dos blocos:
páginas
●
Há blocos de mesmo tamanho para:
»
Espaço de endereçamento virtual»
Espaço de endereçamento real»
Mapeamento: Realizado através de tabelas de páginas4. Memória Virtual por Paginação
●Tabela de Páginas
M e m ó r i a V i r t u a l . . . . P á g i n a v i r t u a l 0 P á g i n a v i r t u a l 1 P á g i n a v i r t u a l 2 T a b e l a d e p á g i n a s E T P M e m ó r i a P r i n c i p a l M e m ó r i a S e c u n d á r i a . . . P á g i n a r e a l 0 P á g i n a r e a l 1 P á g i n a r e a l R4. Memória Virtual por Paginação
●Formato do endereço virtual
»
Formado por 2 componentes NPV: Número de Página Virtual – Identificador da página, ou seja, de um bloco de endereços reais Deslocamento: – Posição do endereço procurado em relação ao início da página»
4. Memória Virtual por Paginação
●Tradução do
endereço virtual
»
NPV ● P á g i n a v i r t u a l D e s l o c a m e n t o E n d e r e ç o v i r t u a l D e s l o c . N P V E n d . d o f r a m e E T P T a b e l a d e p á g i n a s E n d . d o f r a m e D e s l o c .4. Memória Virtual por Paginação
●
As ETPs contém ainda:
Bit de validade
– Indica se uma página está ou não na memória principal
● 0(zero): não se encontra na memória principal ● 1(um): encontrase na memória principal
Page fault
– Quando a unidade de gerência de verifica o bit de validade e a página não se encontra na memória principal, dizse que