Aula22 Gerencia de Memoria Substituicao de Pagina

6
7/23/2019 Aula22 Gerencia de Memoria Substituicao de Pagina http://slidepdf.com/reader/full/aula22-gerencia-de-memoria-substituicao-de-pagina 1/6 1 Sistemas Operacionais Sistemas Operacionais – Ciência da Computação Ciência da Computação Gerência de Memória Gerência de Memória Algoritmos de Substituição de Página Algoritmos de Substituição de Página Prof. Humberto Brandão [email protected] aula disponível no site: http://www.dcc.ufmg.br/~humberto/unifal/ Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.1 Algoritmos de Substituição de Página • Quando ocorre a falta de página, o S.O. precisa escolher uma página a ser removida da memória principal, dando espaço para a páginas requisitada, que é trazida do disco; Algoritmos de Substituição de Página Decisão do S.O.: Qual página deve ser removida? Qual página deve ser removida? É im ortante notar ue este roblema se repete em diferentes áreas da Computação: Cache de servidores web. Quais páginas devem estar no cache do servidor Apache? Cache do proxy; Cache do Youtube. Algoritmos de Substituição de Página Diferentes algoritmos podem ser implementados para manutenção de caches; Substitui ão Aleat Substitui ão Aleatória: ória: escolha aleatória de uma moldura de página na memória principal para ser substituída. Fácil implementação; Desempenho frustrante; Algoritmos de Substituição de Página Antes de comentar outros algoritmos devemos responder: Existe algoritmo ótimo para a substituição de páginas? Algoritmos de Substituição de Página Algoritmo Ótimo: Algoritmo Ótimo: – Existe! Impossívelde implementar! Então, é como se não existisse! • Algoritmo: remover a página que mais tarde será referenciada. Ou seja, evita ao máximo futuras faltas de página.

Transcript of Aula22 Gerencia de Memoria Substituicao de Pagina

Page 1: Aula22 Gerencia de Memoria Substituicao de Pagina

7/23/2019 Aula22 Gerencia de Memoria Substituicao de Pagina

http://slidepdf.com/reader/full/aula22-gerencia-de-memoria-substituicao-de-pagina 1/6

1

Sistemas OperacionaisSistemas Operacionais –– Ciência da ComputaçãoCiência da Computação

Gerência de MemóriaGerência de MemóriaAlgoritmos de Substituição de PáginaAlgoritmos de Substituição de Página

Prof. Humberto Brandã[email protected] 

aula disponível no site:http://www.dcc.ufmg.br/~humberto/unifal/ 

Universidade Federal de AlfenasDepartamento de Ciências Exatas

versão da aula: 0.1

Algoritmos de Substituição de Página

• Quando ocorre a faltade página, o S.O.precisa escolher umapágina a serremovida damemória principal,dando espaço para apáginas requisitada,que é trazida dodisco;

Algoritmos de Substituição de Página

• Decisão do S.O.:–– Qual página deve ser removida?Qual página deve ser removida?

• É im ortante notar ue este roblema serepete em diferentes áreas da Computação:– Cache de servidores web. Quais páginas devem

estar no cache do servidor Apache?– Cache do proxy;– Cache do Youtube.

Algoritmos de Substituição de Página

• Diferentes algoritmos podem serimplementados para manutenção de caches;

•• Substitui ão AleatSubstitui ão Aleatória:ória:– escolha aleatória de uma moldura de página na

memória principal para ser substituída.

– Fácil implementação;

– Desempenho frustrante;

Algoritmos de Substituição de Página

• Antes de comentar outros algoritmosdevemos responder:

– Existe algoritmo ótimo para a substituição de páginas?

Algoritmos de Substituição de Página

•• Algoritmo Ótimo:Algoritmo Ótimo:

– Existe!– Impossível de implementar!– Então, é como se não existisse!☺

• Algoritmo: remover a página que mais tardeserá referenciada. Ou seja, evita ao máximofuturas faltas de página.

Page 2: Aula22 Gerencia de Memoria Substituicao de Pagina

7/23/2019 Aula22 Gerencia de Memoria Substituicao de Pagina

http://slidepdf.com/reader/full/aula22-gerencia-de-memoria-substituicao-de-pagina 2/6

2

Algoritmos de Substituição de Página

Instantes que as

páginas serão

referenciadas...

300

200

100

5010500

350

230

Algoritmos de Substituição de Página

Escolhendo a página2, o sistema evita aomáximo a próximafalta de página

Instantes que as

páginas serão

referenciadas...

300

200

100

5010500

350

230

Não Usada Recentemente (NUR)Não Usada Recentemente (NUR)

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Não Usada Recentemente (NUR)Não Usada Recentemente (NUR)

– A tabela de páginas precisa de dois bits para cadaregistro de página:

• R – indica se a página foi referenciada;• M – indica se a página foi modificada;

• 1 indica verdadeiro...• 0 indica falso....

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Não Usada Recentemente (NUR)Não Usada Recentemente (NUR)

– É importante observar que os bits devem seratualizados a cada referencia a memória.

– A cada referencia a memória, o S.O. separa todasas páginas em 4 categorias:

• Classe 0 – Não referenciada e não modificada;• Classe 1 – Não referenciada e modificada;• Classe 2 – Referenciada e Não modificada;• Classe 3 – Referenciada e Modificada;

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Não Usada Recentemente (NUR)Não Usada Recentemente (NUR)

– O Algoritmo NUR remove aleatoriamente umapágina da classe de mais baixa ordem que nãoesteja vazia.

– As classes embutem informações sobre as páginasmais “importantes”.. Mais utilizadas... E faz umaescolha “inteligente” sobre a eliminação de umapágina.

Page 3: Aula22 Gerencia de Memoria Substituicao de Pagina

7/23/2019 Aula22 Gerencia de Memoria Substituicao de Pagina

http://slidepdf.com/reader/full/aula22-gerencia-de-memoria-substituicao-de-pagina 3/6

3

FIFOFIFO

Algoritmos de Substituição de Página

•• Algoritmo FIFOAlgoritmo FIFO –– Primeiro a entrar, primeiroPrimeiro a entrar, primeiroa sair:a sair:

– A primeira página da fila é a próxima a deixar amemória principal na próxima falta de página...

– Fácil Implementação;– Baixo custo computacional

• Operações emΘ(1) – remover e inserir nalista...

Algoritmos de Substituição de Página

•• Algoritmo FIFOAlgoritmo FIFO –– Primeiro a entrar, primeiroPrimeiro a entrar, primeiroa sair:a sair:

– Não tem garantia alguma de qualidade...

– Sua implementação pura é raramente encontradana implementação de caches.

Segunda chanceSegunda chance

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Segunda chance (SC):Segunda chance (SC):

– É uma simples modificação do algoritmo FIFO;

– Utiliza a Fila, mas evita eliminar uma páginarecentemente utilizada;

– Para analisar esta informação, é utilizado o bit R(referenciada);

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Segunda chance (SC):Segunda chance (SC):

– Se a página foi lida referenciada recentemente, elanão é removida da lista. Vai para o fim da lista, eseu bit R (recentemente referenciada) passa a ser 0;

Page 4: Aula22 Gerencia de Memoria Substituicao de Pagina

7/23/2019 Aula22 Gerencia de Memoria Substituicao de Pagina

http://slidepdf.com/reader/full/aula22-gerencia-de-memoria-substituicao-de-pagina 4/6

4

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Segunda chance (SC):Segunda chance (SC):

1 0 1 1 0 1 1 0

• Operação do algoritmo segunda chancea) l ista de páginas emordemFIFO

b) estado da lista em situação de falta de página no instante 20,com o bit R da página A em 1 (números representam instantesde carregamento das páginas na memória)

0 1 1 0 1 1 0 0

RelógioRelógio

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– RelógioRelógio

– Melhoria do Algoritmo de Segunda Chance;

– Ao invés de implementar uma fila, implementauma lista circular:

• Evita remover elementos do inicio da fila, e inserir nofim da fila; (evita alocação de memória dinâmica)

• Apenas move seu apontador do primeiro da “fila”;• Só é eficiente porque a memória física tem um tamanho

fixo.

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– RelógioRelógio

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– RelógioRelógio

– Diferencia do algoritmo da Segunda chancesomente em implementação.

Menos Recentemente Usada (MRU)Menos Recentemente Usada (MRU)

Page 5: Aula22 Gerencia de Memoria Substituicao de Pagina

7/23/2019 Aula22 Gerencia de Memoria Substituicao de Pagina

http://slidepdf.com/reader/full/aula22-gerencia-de-memoria-substituicao-de-pagina 5/6

5

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Menos Recentemente UsadaMenos Recentemente Usada(MRU)(MRU)

– Utiliza da hipótese: Páginas referenciadasintensamente nas ultimas instruçõesprovavelmente serão de novo referenciadas demaneira intensa nas próximas instruções.

– Obviamente, remove a página a mais tempo nãoreferenciada.

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Menos Recentemente UsadaMenos Recentemente Usada(MRU)(MRU)

– Para implementar, é necessário manter uma listaencadeada de todas as páginas na memória;

– Vantagem?

– Desvantagem?

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Menos Recentemente UsadaMenos Recentemente Usada(MRU)(MRU)

– Vantagem:• Na ocorrência de uma falta de página, a página a mais

tempo sem utilização é a primeira da lista;

– Desvantagem:• A lista tem que ser gerenciada a cada referencia à

memória;

Algoritmos de Substituição de Página

•• AlgoritmoAlgoritmo –– Menos Recentemente UsadaMenos Recentemente Usada(MRU)(MRU)

– Qual estrutura é mais adequada?• Vetor ou• Lista Encadeada

– Por que?

Comparando algoritmosComparando algoritmos

Algoritmos de Substituição de Página

•• Comparando AlgoritmosComparando Algoritmos

– Suponha que você tem todos este algoritmosimplementados.

– Como compará-los?

Page 6: Aula22 Gerencia de Memoria Substituicao de Pagina

7/23/2019 Aula22 Gerencia de Memoria Substituicao de Pagina

http://slidepdf.com/reader/full/aula22-gerencia-de-memoria-substituicao-de-pagina 6/6

6

Referencia

• Sistemas Operacionais Modernos. Tanenbaum,A. S. 2ª edição. 2003