0 évaluation0% ont trouvé ce document utile (0 vote)
222 vues33 pages
O documento discute técnicas de gerenciamento de memória virtual, incluindo mapeamento de endereços virtuais para endereços físicos por meio de tabelas de páginas, políticas de substituição e busca de páginas, e algoritmos como LRU e LFU para selecionar quais páginas substituir quando novo espaço em memória é necessário.
O documento discute técnicas de gerenciamento de memória virtual, incluindo mapeamento de endereços virtuais para endereços físicos por meio de tabelas de páginas, políticas de substituição e busca de páginas, e algoritmos como LRU e LFU para selecionar quais páginas substituir quando novo espaço em memória é necessário.
O documento discute técnicas de gerenciamento de memória virtual, incluindo mapeamento de endereços virtuais para endereços físicos por meio de tabelas de páginas, políticas de substituição e busca de páginas, e algoritmos como LRU e LFU para selecionar quais páginas substituir quando novo espaço em memória é necessário.
Motivadores: Custo com a desfragmentao na Alocao Particionada Dinmica. Processo necessita de um espao de endereamento contguo. O cdigo do programa no utilizado na ntegra o tempo todo. Grande capacidade de armazenamento da Memria Secundria (discos). Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual uma tcnica de gerncia de memria, em que a memria principal e secundria so combinadas dando a impresso de uma memria muito maior. Desta forma os programas deixam de estar limitados ao tamanho da memria fsica disponvel. No momento da execuo de uma instruo, o endereo virtual referenciado traduzido para um endereo fsico, pois o processador manipula apenas posies da memria principal. Sistemas Operacionais
Ger. Memria Virtual
Sistemas Operacionais
Ger. Memria Virtual
Mapeamento: O processador apenas executa instrues e referencia dados residentes no espao de endereamento real, portanto, deve existir um mecanismo que transforme os endereos virtuais em endereos reais. Esse mecanismo, conhecido por mapeamento, permite traduzir um endereo localizado no espao virtual para um associado no espao real. Sistemas Operacionais
Ger. Memria Virtual
Mapeamento: Como consequncia do mapeamento, um programa no mais precisa estar necessariamente em endereos contguos na memria principal para ser executado. O dispositivo de hardware responsvel por esta traduo conhecido como Unidade de Gerncia de Memria (Memory Management Unit - MMU), sendo acionado sempre que se faz referncia a um endereo virtual. Sistemas Operacionais
Ger. Memria Virtual
Mapeamento: Sistemas Operacionais
Ger. Memria Virtual
Mapeamento: A tabela de mapeamento uma estrutura de dados existente para cada processo. Quando um determinado processo est sendo executado, o sistema utiliza a tabela de mapeamento do processo em execuo para realizar a traduo de seus endereos virtuais. Se um outro processo vai ser executado, o sistema deve passar a referenciar a tabela de mapeamento do novo processo. Sistemas Operacionais
Ger. Memria Virtual
Mapeamento: Caso o mapeamento fosse realizado para cada clula na memria principal, o espao ocupado pelas tabelas seria muito grande, o que inviabilizaria a implementao do mecanismo de memria virtual. Em funo disso, as tabelas mapeiam blocos de dados, cujo tamanho determina o nmero de entradas existentes nas tabelas. Quanto maior o bloco, menos entradas existem nas tabelas. Sistemas Operacionais
Ger. Memria Virtual
Mapeamento: Os blocos podem ser criados de duas maneira, sendo definidos como: Pginas: os blocos so todos de tamanho fixo, definidos na inicializao do sistema e so todos do mesmo tamanho. Segmentos: os blocos tem tamanhos variveis, definidos dinamicamente e podem ter tamanhos diferentes. Apenas os pares virtual/real devem ter o mesmo tamanho. Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: As pginas no espao virtual so denominadas pginas virtuais, enquanto as pginas no espao real so chamadas de pginas reais, frames ou quadros. A memria virtual por paginao a tcnica de gerncia de memria em que o espao de endereamento virtual e o espao de endereamento real so divididos em blocos de mesmo tamanho chamados pginas. Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Todo o mapeamento de endereo virtual em real realizado atravs de tabelas de pginas. Cada processo possui sua prpria tabela de pginas, e cada pgina virtual do processo possui uma entrada na tabela (entrada na tabela de pginas - ETP), com informaes de mapeamento que permitem ao sistema localizar a pgina real correspondente. Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Alm da informao sobre a localizao da pgina virtual, a ETP possui outras informaes, como o bit de validade (valid bit), que indica se uma pgina est ou no na memria principal. Se o bit tem o valor 0, isto indica que a pgina virtual no est na memria principal, mas se igual a 1, a pgina est localizada na memria. Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Sempre que o processo referencia um endereo virtual, a unidade de gerncia de memria verifica, atravs do bit de validade, se a pgina que contm o endereo referenciado est ou no na memria principal. Caso a pgina no esteja na memria, dizemos que ocorreu um page fault. Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Neste caso, o sistema transfere a pgina da memria secundria para a memria principal, realizando uma operao de E/S conhecida como page in, ou paginao. O nmero de page faults gerados por cada processo em um determinado intervalo de tempo definido como taxa de paginao do processo. Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Quando um processo referencia um endereo e ocorre um page fault, o processo em questo passa do estado de execuo para o estado de espera, at que a pgina seja transferida do disco para a memria principal. Aps a transferncia da pgina para a memria principal, o processo recolocado na fila de processos no estado de pronto, e quando for reescalonado poder continuar sua execuo. Sistemas Operacionais
Ger. Memria Virtual
Memria Virtual por Paginao: Quando um programa executado, as pginas virtuais so transferidas da memria secundria para a memria principal e colocadas nos frames. Sempre que um programa fizer referncia a um endereo virtual, o mecanismo de mapeamento localizar na ETP da tabela do processo o endereo fsico do frame. Sistemas Operacionais
Ger. Memria Virtual
Poltica de busca de Pginas: Determina quando uma pgina deve ser carregada para a memria. Existem duas estratgias para este propsito: Paginao por demanda: as pginas do processo so transferidas da memria secundria para a principal apenas quando so referenciadas. Leva para a memria principal somente as pginas realmente necessrias Cada pgina referenciada gera um page fault e sucessivas operaes de leitura no disco. Sistemas Operacionais
Ger. Memria Virtual
Poltica de busca de Pginas: Existem duas estratgias para este propsito: Paginao antecipada: o sistema carrega, alm da pgina referenciada, outras pginas que podem ou no ser necessrias. Existe uma grande economia de tempo em levar um conjunto de pginas da memria secundria. Por outro lado, caso o processo no precise dessas pginas, o sistema ter perdido tempo e ocupado memria principal desnecessariamente. Sistemas Operacionais
Ger. Memria Virtual
Poltica de substituio de Pginas: Em algumas situaes, quando um processo atinge o seu limite de alocao de frames e necessita alocar novas pginas na memria principal, o Sistema Operacional deve selecionar, dentre as diversas pginas alocadas, qual dever ser liberada. Este mecanismo chamado de poltica de substituio de pginas. Uma pgina real, quando liberada por um processo, est livre para ser utilizada por qualquer outro processo. Sistemas Operacionais
Ger. Memria Virtual
Poltica de substituio de Pginas: Sistemas Operacionais
Ger. Memria Virtual
Poltica de substituio de Pginas: Caso os processos tenham um nmero insuficiente de pginas para a execuo do programa, provvel que diversos frames referenciados ao longo do seu processamento no estejam na memria principal. A ocorrncia de um nmero elevado de page faults gera inmeras operaes de E/S. Neste caso, ocorre um problema conhecido como thrashing, provocando srias consequncias ao desempenho do sistema. Sistemas Operacionais
Ger. Memria Virtual
Algoritmos de Substituio de Pginas: LFU (Least Frequently Used Menos Frequentemente Usado): O algoritmo LFU seleciona a pgina menos referenciada, ou seja, o frame menos utilizado. Para isso, mantido um contador com o nmero de referncias para cada pgina na memria principal. A pgina que possuir o contador com o menor nmero de referncias ser escolhida, ou seja, o algoritmo evita selecionar pginas que so bastante utilizadas. Sistemas Operacionais
Ger. Memria Virtual
Algoritmos de Substituio de Pginas: LFU (Least Frequently Used Menos Frequentemente Usado): As pginas que esto h pouco tempo na memria principal podem ser justamente aquelas selecionadas, pois seus contadores estaro com o menor nmero de referncias. possvel tambm que uma pgina muito utilizada no passado no seja mais referenciada no futuro. Sistemas Operacionais
Ger. Memria Virtual
Algoritmos de Substituio de Pginas: LRU (Least Recently Used Menos Recentemente Usado) O algoritmo LRU seleciona a pgina na memria principal que est h mais tempo sem ser referenciada. Se considerarmos o princpio da localidade, provvel que uma pgina que no foi utilizada recentemente no seja referenciada novamente em um futuro prximo. Sistemas Operacionais
Ger. Memria Virtual
Algoritmos de Substituio de Pginas: LRU (Least Recently Used Menos Recentemente Usado) Para implementar esse algoritmo, necessrio que cada pgina tenha associado o momento do ltimo acesso, que deve ser atualizado a cada referncia a um frame. Quando for necessrio substituir uma pgina, o sistema far uma busca por um frame que esteja h mais tempo sem ser referenciado. Sistemas Operacionais
Ger. Memria Virtual
Algoritmos de Substituio de Pginas: NRU (Not Recently Used No Usado Recentemente) O algoritmo NRU bastante semelhante ao LRU, porm com menor sofisticao. Para a implementao deste algoritmo necessrio um bit adicional, conhecido como bit de referncia (BR). O bit indica se a pgina foi utilizada recentemente, e est presente em cada entrada da tabela de pginas. Sistemas Operacionais
Ger. Memria Virtual
Algoritmos de Substituio de Pginas: NRU (Not Recently Used No Usado Recentemente) Quando uma pgina carregada para a memria principal, o bit de referncia alterado pelo hardware, indicando que a pgina foi referenciada (BR = 1). Periodicamente, o sistema altera o valor do bit de referncia (BR = 0), e medida que as pginas so utilizadas, o bit associado a cada frame retorna para 1. Sistemas Operacionais
Ger. Memria Virtual
Exerccio de Fixao: Um sistema possui 4 frames. A tabela abaixo apresenta para cada pgina o momento de carga, o momento do ltimo acesso, o bit de referncia e o bit de modificao:
a) Qual pgina ser substituda utilizando NRU? ___
b) Qual pgina ser substituda utilizando FIFO?___ c) Qual pgina ser substituda utilizando LRU? ___ Sistemas Operacionais
Ger. Memria Virtual
Exerccio de Fixao: Considere um processo com limite de pginas reais igual a 4 e um sistema que implemente a poltica de substituio de pginas LRU. Quantos page faults ocorrero considerando que as pginas virtuais so referenciadas na seguinte ordem: 07172372103. Sistemas Operacionais