SóProvas


ID
370903
Banca
FCC
Órgão
TCE-GO
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

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, via software.
Está correto o que se afirma em

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

  • Acredito que as assertivas II e III se contradizem. Ora, se é essencial que o bit de status seja atualizado via HW, como na assertiva III temos que o bit é atualizado via SW?
  • As três afirmativas estão no livro de SO do Tanembaum (pg 124). Porém, na frase do autor não tem o via software igual está na alternativa III.
  • No meu livro do Tanenbaum, 2ª Edição, página 160. Estão todas as respostas:

    I - "A maioria dos computadores com memória virtual tem 2 bits de status - o bit referenciada (R) e o bit modificada (M)"
    II - "è importante perceber que esses bits devem ser atualizados em todas as referências à memória, de modo que é essencial que essa atualização se dê por hardware"
    III - "Uma vez que um bit é colocado em 1 por hardware, ele permanece em 1 até o sistema operacional colocá-lo em 0 por software"
  • Dúvida: Conforme o II, toda atualização deve ser feita via HARDWARE. Conforme III, o bit colocado em 1 via hardware, é colocado em zero(ao meu ver, não deixa de ser uma atualização) via software. 

    Ora, se o II diz que toda atualização deve ser feita via hardware, como o S.O pode fazer atualização????? Ferrou....