Gerenciamento de memoria virtual
Loran dos Santos RA: B62IHG-4 – 1º Semestre
Marcos Roberto RA: B60625-8 – 1º Semestre
Gerenciamento de Memória
Memória Virtual
São Paulo
1º semestre de 2013
Fundamentos
• Memória virtual – separação da memória lógica, vista pelo usuário, da memória física.
– Apenas parte do programa precisa estar na memória para execução.
– O espaço de endereço lógico pode, então, ser muito maior do que o espaço de endereçamento físico.
– Permite que os espaços de endereçamento sejam compartilhados por vários processos,
– Favorece uma criação de processos mais eficiente
• A memória virtual pode ser implementada através de:
– Paginação por demanda.
– Segmentação por demanda.
Memória Virtual que é maior do que a Memória Física.
Paginação por Demanda
• Traz uma página para a memória apenas quando é necessária.
– Menor necessidade de E/S.
– Menos memória necessária.
– Resposta mais rápida.
– Mais usuários.
• Página é necessária → Referência a ela.
– referência inválida → aborta.
– não está na memória → a traz para a memória.
Transferência de uma Memória Paginada para o Espaço Contíguo
Tabela de Página Quando Algumas Páginas Não Estão na Memória
Principal
Falha de página
• Se houver uma referência a uma página, a primeira referência irá desviar para o sistema operacional → falha de página.
• O sistema operacional consulta outra tabela para decidir:
– Referência inválida → aborta.
– Apenas não está na memória.
Falha de página
• Obtém frame vazio.
• Faz o swap-in da página para frame.
• Redefine as tabelas, bit de validação = 1.
• Reinicia a instrução: Least Recently Used.
– movimento do bloco.
– incrementa/decrementa local automaticamente.
Etapas no Tratamento de uma Falha de página
Substituição de Página
• Evita a super-alocação da memória modificando a rotina do serviço de falha de página para incluir a substituição de página.
• Use o bit de modificação (ou bit de sujo) para reduzir o custo