Pesquisar este blog

quarta-feira, 15 de fevereiro de 2012

No contexto do algoritmo de substituição de página não usada recentemente (NUR), considere:

No contexto do algoritmo de substituição de página não usada recentemente (NUR), considere: 
I. A maioria dos computadores com memória virtual tem dois bits de status: o bit referenciada (R) e o bit modificada (M).

II. Os bits de status devem ser atualizados em todas as referências à memória, sendo essencial que tal atualização ocorra via hardware.

III. Uma vez que o bit de status é colocado em 1, via hardware, este permanece com tal valor até o sistema operacional colocá-lo em 0, viasoftware.
Está correto o que se afirma em
  •  a) I, II e III.
  •  b) I e II, apenas.
  •  c) I e III, apenas.
  •  d) II e III, apenas.
  •  e) II, apenas.
Sempre que uma página (endereço virtual) não estiver em uma moldura de página, uma interrupção ocorre e ela deve ser carregada para uma moldura antes de ser executada. No entanto, alguma página que está atualmente em uma moldura deve ser retirada (gravada em disco). Os algoritmos de substituição de páginas se preocupam em escolher a melhor página a ser retirada da moldura. Existem várias alternativas: 


  • algoritmo de substituição de página ótimo: deve ser retirada a página que só será referenciada o mais tarde possível. Apesar de, teoricamente, ser um algoritmo interessante, é extremamente difícil prever quando uma página será referenciada;


  • algoritmo de substituição de página não recentemente utilizada (NUR): o S.O. e o hardware mantêm uma coleção de estatísticas sobre as páginas referenciadas e/ou modificadas (através dos bits de referência e modificação das entradas da tabela de páginas) e dão preferência para a troca de páginas não referenciadas e/ou não modificadas;


  • algoritmo de substituição de página “primeira a entrar, primeira a sair (FIFO – first-in first-out): a página mais antiga é removida.No entanto, pode estar sendo removida uma página bastante utilizada;


  • algoritmo de substituição de página de segunda chance: uma modificação do algoritmo FIFO, que busca não substituir uma página antiga e, no entanto, bastante utilizada. A solução é inspecionar o bit R (referenciada) da página mais antiga; se o bit for 1 (foi referenciada) o bit será limpo e a pesquisa continua. Se todas as páginas tiverem sido referenciadas, o algoritmo FIFO acaba sendo executado e a página mais antiga (que agora estará com o bit R limpo) será substituída;'


  • algoritmo de substituição de página menos recentemente utilizada (LRU – least recently used): a idéia é que as páginas que foram intensamente utilizadas nas últimas instruções provavelmente serão utilizadas de forma intensa no futuro próximo. Desta forma, deve ser removida a página que não foi utilizada por mais tempo.
----------------------------------------------------------------------------------------------

  • Algoritmo de Substituição de Página Não-Recentemente Utilizada

O NRU (do inglês, Not Recently Used Page) usa dois bits de status, R e M, que são assiciados a cada página. R é setada sempre que uma página é referenciada e M é setado quando a página é modificada. Quando o sistema precisa remover uma página, ele percorre todas as páginas presentes e as classifica em quatro classes:

  • classe 0: não-referenciada, não-modificada;
  • classe 1: não-referenciada, modificada;
  • classe 2: referenciada, não-modificada;

  • classe 3: referenciada, modificada;

Dessa forma, o algoritmo remove uma página em execução da classe mais baixa.
O NRU é bom pois é de fácil entendimento e implementação, porém seu desempenho não é ótimo (apesar de ser suficiente na maioria dos casos).

Nenhum comentário:

Postar um comentário