SóProvas


ID
2534365
Banca
FCC
Órgão
ARTESP
Ano
2017
Provas
Disciplina
Sistemas Operacionais
Assuntos

No gerenciamento de memória, o mecanismo de paginação utiliza algoritmos de substituição de páginas, que são políticas definidas para escolher qual página da memória será removida para dar lugar a uma página que foi solicitada e que precisa ser carregada. Dentre estes encontra-se o algoritmo

Alternativas
Comentários
  • 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