Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS SIMONE MARKENSON Rio de Janeiro, maio de 2011 1 CONTEÚDO DA AULA O QUE É MEMÓRIA VIRTUAL? Memória virtual = + Ganhamos: flexibilidade Perdemos: desempenho LEMBRETES... O uso da memória virtual é transparente ao usuário e à própria CPU. Mais processos mantidos na memória principal Processos podem ser maiores que a memória principal Maior tempo de resposta para as referências à memória. Maior complexidade do hardware e do esquema de gerenciamento. Impossibilidade de estimar de forma precisa e segura, o tempo a ser gasto em qualquer referência à memória. MV EM FUNCIONAMENTO! S.O. traz a página que possui o endereço referenciado para a memória Há uma grande chance dos próximos endereços estarem na mesma página, que já estarão na memória princípio da localidade Problema Trashing MEMÓRIA VIRTUAL E PAGINAÇÃO Endereço Virtual Entrada da Tabela de Página Número Página Offset Endereço da Moldura P M Outros bits controle CONSIDERAÇÕES Página na memória? SIM : Page Hit NÃO: Page Fault Página grande ou pequena? GRANDE: saturação; fragmentação interna PEQUENA: mais paginação; tabela de páginas maior Onde colocar? Em qualquer moldura disponível E SE NÃO TIVER? Algoritmo Ótimo (teórico) Algoritmo FIFO(First In First Out) Algoritmo LRU(Least Recent Used) Algoritmo do Relógio ALGORITMO DO RELÓGIO Requer um bit adicional na tabela de páginas: o bit de referência Quando a página é carregada, o bit de referência é ligado Quando a página é referenciada, o bit de referência é ligado Para identificar a página a ser removida, é feita uma busca no sentido horário e a primeira página que for encontrada com o bit de referência igual a zero (desligado) é removida Durante a busca da página a ser removida, os bits de referência das páginas analisadas são desligados ALGORITMO DO RELÓGIO 8 . . . Página = 9 Uso = 1 Ponteiro para próxima moldura Página = 19 uso = 1 Página = 1 uso = 0 Página = 45 uso = 1 Página = 191 uso = 1 Página = 556 uso = 0 Página = 13 uso = 0 Página = 67 uso = 1 Página = 33 uso = 1 Página = 222 uso = 0 7 6 5 4 3 2 1 0 n 8 . . . Página = 9 Uso = 1 Ponteiro para próxima moldura Página = 19 uso = 1 Página = 1 uso = 0 Página = 45 uso = 0 Página = 191 uso = 0 Página = 727 uso = 1 Página = 13 uso = 0 Página = 67 uso = 1 Página = 33 uso = 1 Página = 222 uso = 0 7 6 4 3 2 1 0 n Após uma substituição de página. Página removida = 556 Ponteiro = Página 13 Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 M2 2 2 M3 3 3 M4 4 4 M5 5 5 M6 6 6 -- Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 7 M2 2 2 2 M3 3 3 3 M4 4 4 4 M5 5 5 5 M6 6 6 6 -- PF Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 7 7 7 M2 2 2 2 2 2 M3 3 3 3 3 3 M4 4 4 4 4 4 M5 5 5 5 5 5 M6 6 6 6 6 6 -- PF -- -- Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 7 7 7 7 M2 2 2 2 2 2 8 M3 3 3 3 3 3 3 M4 4 4 4 4 4 4 M5 5 5 5 5 5 5 M6 6 6 6 6 6 6 -- PF -- -- PF Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 7 7 7 7 7 7 M2 2 2 2 2 2 8 8 8 M3 3 3 3 3 3 3 3 1 M4 4 4 4 4 4 4 4 4 M5 5 5 5 5 5 5 5 5 M6 6 6 6 6 6 6 6 6 -- PF -- -- PF -- PF Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 7 7 7 7 7 7 7 M2 2 2 2 2 2 8 8 8 8 M3 3 3 3 3 3 3 3 1 1 M4 4 4 4 4 4 4 4 4 3 M5 5 5 5 5 5 5 5 5 5 M6 6 6 6 6 6 6 6 6 6 -- PF -- -- PF -- PF PF Exemplo - LRU inicio 1 7 2 5 8 4 1 3 M1 1 1 1 M2 2 2 7 M3 3 3 3 M4 4 4 4 M5 5 5 5 M6 6 6 6 -- PF Exemplo - LRU inicio 1 7 2 5 8 4 1 3 M1 1 1 1 1 M2 2 2 7 7 M3 3 3 3 2 M4 4 4 4 4 M5 5 5 5 5 M6 6 6 6 6 -- PF PF Exemplo - LRU inicio 1 7 2 5 8 4 1 3 M1 1 1 1 1 1 1 M2 2 2 7 7 7 7 M3 3 3 3 2 2 2 M4 4 4 4 4 4 8 M5 5 5 5 5 5 5 M6 6 6 6 6 6 6 -- PF PF -- PF Exemplo - LRU inicio 1 7 2 5 8 4 1 3 M1 1 1 1 1 1 1 1 M2 2 2 7 7 7 7 7 M3 3 3 3 2 2 2 2 M4 4 4 4 4 4 8 8 M5 5 5 5 5 5 5 5 M6 6 6 6 6 6 6 4 -- PF PF -- PF PF -- Exemplo - LRU inicio 1 7 2 5 8 4 1 3 M1 1 1 1 1 1 1 1 1 1 M2 2 2 7 7 7 7 7 7 3 M3 3 3 3 2 2 2 2 2 2 M4 4 4 4 4 4 8 8 8 8 M5 5 5 5 5 5 5 5 5 5 M6 6 6 6 6 6 6 4 4 4 -- PF PF -- PF PF -- PF
Compartilhar