Please enable JavaScript.
Coggle requires JavaScript to display documents.
MEMÓRIA VIRTUAL, MEMÓRIA VIRTUAL - Coggle Diagram
MEMÓRIA VIRTUAL
SUBSTITUIÇÃO DE PÁGINAS
Necessidade
Memória superalocada
Sem quadros livres
Precisa substituir
Algoritmos Principais
FIFO
Mais antiga primeiro
Sofre anomalia de Belady
Substituição de Páginas Ótima (“Algoritmo Ideal”)
Não usada pelo maior período
Ideal, mas impossível
LRU
Menos recentemente usada
Boa, mas complexa
Aproximações do LRU
Bits de referência adicionais
Histórico de uso
Segunda chance
FIFO com bits de referência adicionais
Segunda chance melhorado
Usa bits de referência e modificação
(0,0) melhor candidata
(1,1) pior candidata
Outros Algoritmos
LFU
Menos frequentemente usada
MFU
Mais frequentemente usada
Buffer
Banco de quadros livres como reserva
CONCEITOS BÁSICOS
Definição
Separa memória lógica (usuário) da memória física (hardware)
Programa pode ser maior que memória física
Permite mais multiprogramação
Vantagens
Programas maiores que RAM
Compartilhamento fácil de arquivos
Criação eficiente de processos
Programador não se preocupa com limitações físicas
Espaço de Endereço Virtual
Heap cresce para cima
Stack cresce para baixo
Buracos permitem crescimento dinâmico
Bibliotecas compartilhadas usam espaços virtuais
PAGINAÇÃO POR DEMANDA
Princípio
Traz página para memória somente quando necessária
"Permutador preguiçoso" - só carrega se precisar
Bit válido/inválido na tabela de páginas
Falta de Página (Page Fault)
Referência a página não presente
Trap para SO
Etapas
Verifica se referência é válida
Encontra quadro livre
Traz página do disco
Atualiza tabelas
Reinicia instrução
Desempenho
EAT = (1-p) × memória_acesso + p × tempo_falta_página
Exemplo
1 falta/1000 acessos = 40× mais lento
Poucas faltas são críticas para desempenho
MEMÓRIA VIRTUAL
CONEXÕES-CHAVE
Paginação por demanda
Só carrega quando precisa
Falta de página
Overhead significativo no desempenho
Algoritmo de substituição
Crucial para baixa taxa de faltas
Thrashing
Resultado de superalocação + poucos quadros
Working Set
Prevê necessidades de memória do processo
ALOCAÇÃO DE QUADROS
Mínimo de Páginas
Cada processo precisa mínimo para executar
Instruções podem precisar múltiplas páginas
Esquemas de Alocação
Fixa
Igual ou proporcional ao tamanho
Prioridade
Baseada na prioridade do processo
Escopo de Substituição
Global
Pega quadro de qualquer processo
Local
Só pega quadro do próprio processo
THRASHING
Definição
Processo gasta mais tempo paginando que executando
CPU subutilizada
SO aumenta multiprogramação
Piora
Causa
Processos com páginas insuficientes
Alta taxa de faltas de página
Ciclo vicioso de degradação
Solução: Working Set Model
Conjunto de trabalho
Páginas usadas recentemente
Δ (janela conjunto de trabalho)
Número de referências anteriores consideradas
Se working set inteiro na memória
Poucas faltas
Pré-paginação
Carrega working set antecipadamente