O algoritmo NRU (Not Recently Used) procura por páginas que não foram referenciadas nos últimos acessos para serem substituídas. Tal informação é mantida através de um bit. Este algoritmo também verifica, através de um bit de modificação, se a página teve seu conteúdo alterado durante sua permanência em memória. Esta informação também vai ajudar a direcionar a escolha da página. As substituições das páginas seguem a seguinte prioridade: páginas não referenciadas e não modificadas, páginas não referenciadas, páginas não modificadas e páginas referenciadas e modificadas.
https://en.wikipedia.org/wiki/Page_replacement_algorithm#Not_recently_used
http://escalonamentoprocessos.blogspot.com.br/2010/12/memoria-virtual-paginacao-por-demanda-e.html
Gabarito: b)
FIFO
Algoritmo de substituição de páginas FIFO O FIFO (First-in, First-out) é um algoritmo de substituição de páginas de baixo custo e de fácil implementação que consiste em substituir a página que foi carregada há mais tempo na memória (a primeira página a entrar é a primeira a sair). Esta escolha não leva em consideração se a página está sendo muito utilizada ou não, o que não é muito adequado pois pode prejudicar o desempenho do sistema. Por este motivo, o FIFO apresenta uma deficiência denominada anomalia de Belady: a quantidade de falta de páginas pode aumentar quando o tamanho da memória também aumenta.
Algoritmo de substituição de páginas NRU (Resposta - B)
Algoritmo de substituição de páginas CLOCK
Este algoritmo mantém todas as páginas em uma lista circular (em forma de relógio). A ordem mantida segue a seqüência em que elas foram carregadas em memória. Além disso, é adicionado um bit de uso que indica se a página foi referenciada novamente depois de ter sido carregada. Ao precisar substituir uma página o algoritmo verifica se a página mais antiga está com o bit zerado (o que significa que a página não foi mais referenciada) para ser substituída. Se ela não estiver o bit é zerado e a próxima página da fila mais antiga será verificada. Esse processo continua até que uma página antiga com o bit zerado seja encontrada para ser substituída.
Algoritmo de substituição de páginas LRU
O LRU (Least Recently Used) é um algoritmo de substituição de página que apresenta um bom desempenho substituindo a página menos recentemente usada. Esta política foi definida baseada na seguinte observação: se a página está sendo intensamente referenciada pelas instruções é muito provável que ela seja novamente referenciada pelas instruções seguintes e, de modo oposto, aquelas que não foram acessadas nas últimas instruções também é provável que não sejam acessadas nas próximas. Apesar de o LRU apresentar um bom desempenho ele também possui algumas deficiências quando o padrão de acesso é sequencial (em estruturas de dados do tipo vetor, lista, árvore), dentro de loops, etc. Diante dessas deficiências foram propostas algumas variações do LRU, dentre eles destacamos o LRU-K. Este algoritmo não substitui aquela que foi referenciada há mais tempo e sim quando ocorreu seu k-último acesso. Por exemplo, LRU-2 substituirá a página que teve seu penúltimo acesso feito há mais tempo e LRU-3 observará o antepenúltimo e assim por diante.
Algoritmo de substituição de páginas MRU
O algoritmo MRU (Most Recently Used) faz a substituição da última página acessada. Este algoritmo também apresenta algumas variações, semelhante ao LRU. Por exemplo, o MRU-n escolhe a n-última página acessada para ser substituída. Dessa forma, é possível explorar com mais eficiência o princípio de localidade temporal apresentada pelos acessos.
http://escalonamentoprocessos.blogspot.com.br/2010/12/memoria-virtual-paginacao-por-demanda-e.html
Algoritmo Não Usada Recentemente (NUR)
– O algoritmo utiliza os bits M e R para paginação simples
– Quando um processo vai a memória seus bits de M e R estão em 0 (não referenciada, não modificada)
– A medida que os processos vão alterando as páginas em memória este quadro vai se alterando
– O algoritmo NUR consiste no seguinte:
• De tempos em tempos (tempo do clock de máquina), o S.O. “limpa” os bits de referencia, gerando 4 classes de páginas
– Classe 0: não referenciada, não modificada
– Classe 1: não referenciada, modificada
– Classe 2: referenciada, não modificada
– Classe 3: referenciada, modificada
– O algoritmo irá remover da memória aleatoriamente (e a cada
interrupção de tempo do clock) alguma página de classe
mais baixa
– Este algoritmo sempre beneficia páginas que são
referenciadas e não modificadas, do que modificadas e não
referenciadas
– A explicação para este comportamento é que podemos ter
mais páginas intensamente referenciadas do que páginas
alteradas a todo instante
Fonte: Slides de Aula - Sistemas Operacionais 2009/2 - Osmar Leão