O documento discute os conceitos de memória virtual, incluindo espaço de endereçamento virtual, mapeamento de endereços virtuais para endereços físicos, paginação, políticas de substituição de páginas e algoritmos como FIFO, LRU e NRU.
1. Gerência de Memória Virtual
Sistemas
Operacionais
DiogoSilvestre
Gabriela Almeida
2. Introdução
• Técnica onde as memórias PRINCIPAL e
SECUNDÁRIA são combinadas;
• Fundamentado em não vincular o
endereçamento feito pelo programa dos
endereços físicos da memória virtual;
Memória Principal
Memória Secundária
Memória Terciária
3. Espaço de Endereçamento
Virtual
• O conceito de enderaçamento virtual se
aproxima muito da ideia de um vetor;
• O mecanismo de tradução do endereço virtual
para para o endereço físico é denominado
MAPEAMENTO;
Espaço de endereçamento virtual;
Espaço de endereçamento real;
5. Espaço de Endereçamento
Virtual
• Os programas e suas estruturas de dados não
estão mais limitados ao tamanho da memória
física;
• Quando um programa é executado apenas
uma parte do seu código fica residente na
memória principal;
7. Mapeamento
• Mecanismo que transforme os endereços virtuais em
endereços reais;
• Unidade de Gerência de Memória (MMU)
8. Mapeamento
• O mecanismo de tradução mantém as tabelas de
mapeamento exclusivas para cada processo, relacionando
os endereços virtuais do processo às suas posições na
memória real
9. Mapeamento
• Se o mapeamento fosse realizado para cada
célula na memória principal, inviabilizaria o
processo de memória virtual;
• Por isso as tabelas mapeiam os blocos de
dados: quanto maior o bloco, menos entradas
nas tabelas de mapeamento;
10. Memória Virtual por Paginação
• Espaços de endereçamento virtual e real são
divididos em blocos de mesmo tamanho
denominados páginas
13. Política de Busca de Páginas
• Determina quando uma página deve ser
carregada para a memória;
• Paginação por Demanda
Transferência apenas quando há solicitação;
• Paginação Antecipada
Antecipação de carregamento de páginas que
podem ser referenciadas;
14. Política de Alocação de Páginas
• Determina quantos frames cada processo
pode manter na memória principal
• Alocação Fixa
Número fixo máximo de frames que podem ser
armazenados durante a execução de um programa;
• Alocação Variável
Número variável de frames que muda de acordo
com a taxa de paginação e ocupação da memória
principal;
15. Política de Substituição de
Páginas
• Um processo atinge o limite de alocação de
frames;
• O SO deve selecionar dentre as páginas
alocadas qual deve ser liberadas;
16. Working Set
• Tem como objetivo reduzir o problema do
trashing;
• Está relacionado ao princípio de localidade;
Localidade Espacial;
Localidade Temporal;
18. Algorítimos de Substituição de
Páginas
FIFO (First In First Out)
• A página que primeiro foi utilizada será a
primeira a ser escolhida;
• Mais tempo na memória principal;
19. Algorítimos de Substituição de
Páginas
FIFO com Buffer de Páginas
• Combina uma lista de páginas (LPA) alocadas
com uma lista de páginas livres (LPL);
LPA: Organiza as páginas alocadas há mais tempo
na memória no início da lista e as recentes no final;
Organiza as páginas livres há mais tempo no início
e as mais recentes no final;
21. Algorítimos de Substituição de
Páginas
FIFO Circular
• Utiliza como base o FIFO mas, as páginas
alocadas estão em uma estrutura circular;
• Há um ponteiro que guarda a posição da
página mais antiga na lista;
22. • Quando é necessário substituir uma página o
sistema verifica se o frame apontado tem o bit
de referência está zerado (BR = 0);
• Se o bit de referência estiver ligado (BR = 1), é
desligado e o ponteiro incrementado. O
processo se repete até encontrar uma página
com bit de referência igual a zero;
24. Algorítimos de Substituição de
Páginas
Ótimo
• Seleciona para substituição uma página que
não será mais referenciada o futuro;
• Na prática, é impossível de ser implementado;
25. Algorítimos de Substituição de
Páginas
Aleatório
• Não utiliza critério de seleção;
• Todas as páginas na memória principal tem a
mesma probabilidade de serem
implementadas;
26. Algorítimos de Substituição de
Páginas
LFU (Least-Frequently-Used)
• Seleciona a página menos referenciada;
• É mantido um contador com o total de vezes
que cada página na memória principal foi
referenciada;
• Ineficiente com páginas que estão há pouco
tempo na memória principal;
27. Algorítimos de Substituição de
Páginas
LRU (Least-Recently-Used)
• Seleciona a página que está a mais tempo
sem ser referenciada pela memória principal;
• Associa-se a cada frame o momento do último
acesso;
• Alto custo de implementação;
28. Algorítimos de Substituição de
Páginas
NRU (Not-Recently-Used)
• Possui um bit de referência (BR) que indica se
a página foi utilizada recentemente;
• Está presente em cada entrada da tabela de
páginas;
• O BR é alterado pelo Hardware, entre os
valores 0 e 1;
29. • Torna-se mais eficiente se o bit de modificação
for utilizado em conjunto com o BR.
• É possível classificar as páginas em
quatro categorias, conforme a tabela:
30. Referências
MAIA, Francis Berenger Machado Luiz Paulo
<Arquitetura de Sistemas Operacionais, 4ª
Edição>
Memória Virtual
<http://memoriavirtualunisc.blogspot.com.br/p/tip
os-de-memoria-virtual.html>