Académique Documents
Professionnel Documents
Culture Documents
de Pginas
Igor Gustavo Hoelscher
Renan Arend
Rogrio Corra Medeiros
2 Introduo
quarta-feira, 12
de maro de
2013
3 O Algoritmo NRU
NRU (Not Recently Used no usada recentemente).
Usa dois bits de status: bit R (referenciado) e bit M (modificado).
Quando o processo inicia, suas pginas ainda no esto presentes na
memria. Assim que uma delas referenciada, o bit R colocado em 1.
Em seguida, se esta pgina modificada, o bit M colocado em 1.
Ao ocorrer uma page fault o sistema operacional separa todas as pginas
em quatro categorias:
Classe 0: no referenciada, no modificada.
Classe 1: no referenciada, modificada.
Classe 2: referenciada, no modificada.
Classe 3: referenciada, modificada.
quarta-feira, 12
de maro de
2013
4 O Algoritmo NRU
O NRU ento remove uma pgina aleatria da classe mais baixa que no
esteja vazia.
Entre as vantagens est a baixa complexidade de entendimento e
implementao e a boa aproximao para o algoritmo timo.
quarta-feira, 12
de maro de
2013
5 O Algoritmo Segunda Chance
FIFO + bit R.
Inspeciona o bit R da pgina mais velha.
Se for 0, ela velha e no foi usada recentemente: trocada.
Se for 1, foi utilizada recentemente: o bit feito 0 a pgina colocada no
final da fila, seu tempo de carga modificado fazendo parecer que
recm chegou na memria (recebe uma segunda chance).
A busca continua.
quarta-feira, 12
de maro de
2013
6 O Algoritmo Segunda Chance
quarta-feira, 12
de maro de
2013
7 O Algoritmo Segunda Chance
quarta-feira, 12
de maro de
2013
8 O Algoritmo do Relgio
quarta-feira, 12
de maro de
2013
9 O Algoritmo do Relgio
quarta-feira, 12
de maro de
2013
10 O Algoritmo LRU e sua simulao em
software
O LRU (Least Recently Used - usada menos recentemente) parte do
princpio que as pginas usadas com mais frequncia nas ultimas
execues provavelmente sero muito utilizadas novamente.
Desse modo, quando houver page fault o algoritmo elimina a pgina no
utilizada pelo perodo de tempo mais longo.
Necessita que a lista seja atualizada para cada execuo, alm do que,
uma pgina ser buscada, se encontrada ela ser excluda e posicionada
na frente da lista. Um custo de operao alto, mesmo em hardware.
quarta-feira, 12
de maro de
2013
11 O Algoritmo LRU e sua simulao em
software
H outros modos de se implementar em hardware.
Entre eles, o mais simples a construo de um contador, que
incrementado a cada instruo. A pgina referenciada necessita de um
novo campo, que recebe o valor do contador no momento de sua
referncia. Quando houver page fault, o hardware examina as pginas
em busca do menor valor de contador, a pgina usada menos
recentemente.
Outro modo seria o auxlio de uma matrix n x n (onde n o nmero de
molduras de pgina). Quando uma pgina k for referenciada, as posies
da linha k recebem 1 e da coluna k recebem 0.
quarta-feira, 12
de maro de
2013
12 O Algoritmo LRU e sua simulao em
software
quarta-feira, 12
String de referncias: 0 1 2 3 2 1 0 3 2 3 de maro de
2013
13 O Algoritmo LRU e sua simulao em
software
No se encontram muitos computadores com hardwares auxiliares como
os que eram necessrios nos dois exemplos.
Desse modo, uma soluo em software necessria. Entre elas est o NFU
(Not Frequently Used). Esse algoritmo requer contadores em software,
cada um associado a uma pgina e iniciados com 0.
Em cada interrupo, o valor do bit R adicionado ao contador. Quando
houver page fault, a pgina com menor valor em contador ser
eliminada.
No entanto existem problemas...
Uma pequena modificao (gerando o algoritmo conhecido como
Algoritmo de Envelhecimento) pode aproximar a simulao do algoritmo
LRU.
quarta-feira, 12
de maro de
2013
14 O Algoritmo LRU e sua simulao em
software
quarta-feira, 12
de maro de
2013
15 O Algoritmo LRU e sua simulao em
software
O Algoritmo de Envelhecimento simula exatamente o comportamento do
algoritmo de paginao LRU?
quarta-feira, 12
de maro de
2013
Algoritmo Working Set (Conjunto de
16 trabalho)
quarta-feira, 12
de maro de
2013
Algoritmo Working Set (Conjunto de
17 trabalho)
quarta-feira, 12
de maro de
2013
Algoritmo Working Set (Conjunto de
18 trabalho)
quarta-feira, 12
de maro de
2013
Algoritmo Working Set (Conjunto de
19 trabalho)
Implementao:
Contar as k referncias mais recentes custos.
Para simplificar o working set pode ser visto como o conjunto de
pginas que o processo referenciou durante os ltimos t segundos de
sua execuo.
Conta o tempo individual do processo, descontando escalonamento
seu tempo virtual corrente.
Utiliza bit R e o tempo de relgio (tempo virtual) da ltima vez que a
pgina foi referenciada.
quarta-feira, 12
de maro de
2013
Algoritmo Working Set(Conjunto de
20 trabalho)
Algoritmo:
Pressupostos:
O hardware define o bit R. Em cada ciclo do clock, o bit de referncia
limpo.
O tempo do working set se estende por vrios ciclos do clock.
Em cada page fault, a tabela de pginas inteira buscada.
medida que cada entrada processada, examine R.
Se 1, escreva o tempo virtual corrente no campo Tempo do ltimo Uso
(TLU), indicando que a pgina estava em uso no instante da page fault, ou
seja, estava no working set no candidata
quarta-feira, 12
de maro de
2013
Algoritmo Working Set (Conjunto de
21 trabalho)
Algoritmo:
Em cada page fault, a tabela de pginas inteira buscada
medida que cada entrada processada, examine R
Se R=0, a pgina no foi referenciada no ciclo atual, e pode ser uma candidata
Nesse caso, se sua idade for maior que o intervalo t do working set, ela no est
nele, e pode ser removida
A busca continua atualizando as demais entradas
quarta-feira, 12
de maro de
2013
Algoritmo Working Set (Conjunto de
22 trabalho)
quarta-feira, 12
de maro de
2013
Algoritmo Working Set (Conjunto de
23 trabalho)
quarta-feira, 12
de maro de
2013
24 O Algoritmo WSClock
quarta-feira, 12
de maro de
2013
25 O Algoritmo WSClock
A cada page fault, a pgina da cabea examinada primeiro.
Se R=1:
A pgina foi usada durante o ciclo de clock corrente e no candidata a
remoo. R = 0 e avana a cabea prxima pgina, repetindo o
algoritmo para esta pgina.
quarta-feira, 12
de maro de
2013
26 O Algoritmo WSClock
Se R=0:
Se a idade for maior que o tamanho do working set t e a pgina estiver
limpa (M=0) no est no working set e uma cpia vlida existe no disco.
A pgina substituda e a cabea da lista avana.
quarta-feira, 12
de maro de
2013
27 O Algoritmo WSClock
Se, contudo, a pgina estiver suja (no possui cpia vlida no disco)?
Agenda uma escrita ao disco, evitando troca de processo;
Avana a cabea da lista, prosseguindo da pgina seguinte.
quarta-feira, 12
de maro de
2013