Você está na página 1de 6

Algoritmos de Substituio de Pgina

Sistemas Operacionais Cincia da Computao

Quando ocorre a falta


de pgina, o S.O.
precisa escolher uma
pgina a ser
removida
d da
d
memria principal,
dando espao para a
pginas requisitada,
que trazida do
disco;

Gerncia de Memria

Algoritmos de Substituio de Pgina


Prof. Humberto Brando
humberto@dcc.ufmg.br
aula disponvel no site:
http://www.dcc.ufmg.br/~humberto/unifal/
Universidade Federal de Alfenas
Departamento de Cincias Exatas
verso da aula: 0.1

Algoritmos de Substituio de Pgina


Deciso do S.O.:
Qual pgina deve ser removida?

importante
p
notar q
que este p
problema se
repete em diferentes reas da Computao:
Cache de servidores web. Quais pginas devem
estar no cache do servidor Apache?
Cache do proxy;
Cache do Youtube.

Algoritmos de Substituio de Pgina


Diferentes algoritmos podem ser
implementados para manuteno de caches;
Substituio Aleatria:
Aleatria:
escolha aleatria de uma moldura de pgina na
memria principal para ser substituda.
Fcil implementao;
Desempenho frustrante;

Algoritmos de Substituio de Pgina


Antes de comentar outros algoritmos
devemos responder:
Existe algoritmo
g
timo para
p
a substituio de pginas?
p g

Algoritmos de Substituio de Pgina


Algoritmo timo:
Existe!
Impossvel
p
de implementar!
p
Ento, como se no existisse!

Algoritmo: remover a pgina que mais tarde


ser referenciada. Ou seja, evita ao mximo
futuras faltas de pgina.

Algoritmos de Substituio de Pgina

Algoritmos de Substituio de Pgina


Escolhendo a pgina
2, o sistema evita ao
mximo a prxima
falta de pgina

300
200
100
50
10
500
350
230

300
200
100
50
10
500
350
230

Instantes que as
pginas sero
referenciadas...

Instantes que as
pginas sero
referenciadas...

Algoritmos de Substituio de Pgina


Algoritmo No Usada Recentemente (NUR)

No Usada Recentemente (NUR)

A tabela de pginas precisa de dois bits para cada


registro de pgina:
R indica se a pgina foi referenciada;
M indica se a pgina foi modificada;
1 indica verdadeiro...
0 indica falso....

Algoritmos de Substituio de Pgina


Algoritmo No Usada Recentemente (NUR)
importante observar que os bits devem ser
atualizados a cada referencia a memria.
A cada referencia a memria, o S.O. separa todas
as pginas em 4 categorias:
Classe 0 No referenciada e no modificada;
Classe 1 No referenciada e modificada;
Classe 2 Referenciada e No modificada;
Classe 3 Referenciada e Modificada;

Algoritmos de Substituio de Pgina


Algoritmo No Usada Recentemente (NUR)
O Algoritmo NUR remove aleatoriamente uma
pgina da classe de mais baixa ordem que no
esteja vazia.
As classes embutem informaes sobre as pginas
mais importantes.. Mais utilizadas... E faz uma
escolha inteligente sobre a eliminao de uma
pgina.

Algoritmos de Substituio de Pgina

FIFO

Algoritmo FIFO Primeiro a entrar, primeiro


a sair:
Ap
primeira p
pgina
g
da fila a p
prxima a deixar a
memria principal na prxima falta de pgina...
Fcil Implementao;
Baixo custo computacional
Operaes em (1) remover e inserir na
lista...

Algoritmos de Substituio de Pgina


Algoritmo FIFO Primeiro a entrar, primeiro
a sair:

Segunda chance

No tem g
garantia alguma
g
de q
qualidade...
Sua implementao pura raramente encontrada
na implementao de caches.

Algoritmos de Substituio de Pgina


Algoritmo Segunda chance (SC):
uma simples modificao do algoritmo FIFO;
Utiliza a Fila, mas evita eliminar uma pgina
recentemente utilizada;

Algoritmos de Substituio de Pgina


Algoritmo Segunda chance (SC):
Se a pgina foi lida referenciada recentemente, ela
no removida da lista. Vai para o fim da lista, e
seu bit R (recentemente referenciada) passa a ser 0;

Para analisar esta informao, utilizado o bit R


(referenciada);

Algoritmos de Substituio de Pgina


Algoritmo Segunda chance (SC):

Relgio

Operao do algoritmo segunda chance


a)
b)

lista de pginas em ordem FIFO


estado da lista em situao de falta de pgina no instante 20,
com o bit R da pgina A em 1 (nmeros representam instantes
de carregamento das pginas na memria)

Algoritmos de Substituio de Pgina


Algoritmo Relgio

Algoritmos de Substituio de Pgina


Algoritmo Relgio

Melhoria do Algoritmo de Segunda Chance;


Ao invs de implementar uma fila, implementa
uma lista circular:
Evita remover elementos do inicio da fila, e inserir no
fim da fila; (evita alocao de memria dinmica)
Apenas move seu apontador do primeiro da fila;
S eficiente porque a memria fsica tem um tamanho
fixo.

Algoritmos de Substituio de Pgina


Algoritmo Relgio
Diferencia do algoritmo da Segunda chance
somente em implementao.

Menos Recentemente Usada (MRU)

Algoritmos de Substituio de Pgina


Algoritmo Menos Recentemente Usada
(MRU)
Utiliza da hiptese:
p
Pginas
g
referenciadas
intensamente nas ultimas instrues
provavelmente sero de novo referenciadas de
maneira intensa nas prximas instrues.
Obviamente, remove a pgina a mais tempo no
referenciada.

Algoritmos de Substituio de Pgina


Algoritmo Menos Recentemente Usada
(MRU)
Vantagem:
g
Na ocorrncia de uma falta de pgina, a pgina a mais
tempo sem utilizao a primeira da lista;

Desvantagem:
A lista tem que ser gerenciada a cada referencia
memria;

Algoritmos de Substituio de Pgina


Algoritmo Menos Recentemente Usada
(MRU)
Para implementar,
p
necessrio manter uma lista
encadeada de todas as pginas na memria;
Vantagem?
Desvantagem?

Algoritmos de Substituio de Pgina


Algoritmo Menos Recentemente Usada
(MRU)
Qual estrutura mais adequada?
q
Vetor ou
Lista Encadeada

Por que?

Algoritmos de Substituio de Pgina


Comparando Algoritmos

Comparando algoritmos

Suponha que voc tem todos este algoritmos


implementados.
Como compar-los?

Referencia
Sistemas Operacionais Modernos. Tanenbaum,
A. S. 2 edio. 2003

Você também pode gostar