SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Aula 16 – Troca de P´agina e
Implementa¸c˜ao de Pagina¸c˜ao
Norton Trevisan Roman
18 de outubro de 2017
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 1 / 35
FIFO – First-in First-out
SO mant´em uma fila das p´aginas atualmente na
mem´oria
A p´agina no in´ıcio da fila ´e a mais antiga e a p´agina no final
´e a mais nova
Quando ocorre um page fault
A p´agina do in´ıcio (mais velha) ´e removida
A nova ´e inserida ao final da fila
Simples, mas pode ser ineficiente, pois uma p´agina
que est´a em uso constante pode ser retirada
Por isso raramente utilizado
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 2 / 35
Segunda Chance
FIFO + bit R
Evita que se jogue fora p´agina intensamente usada
Inspeciona o bit R da p´agina mais antiga
Se for 0, ela ´e velha (est´a no in´ıcio da fila) e n˜ao foi usada
recentemente → ´e trocada
Se for 1, o bit ´e feito 0
A p´agina ´e colocada no final da fila
Seu tempo de carga ´e modificado, fazendo parecer que rec´em
chegou na mem´oria (recebe uma segunda chance)
A busca continua
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 3 / 35
Segunda Chance
Ex:
Ocorre page fault no tempo 20 e RA = 0
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 4 / 35
Segunda Chance
Ex:
Ocorre page fault no tempo 20 e RA = 0
A ´e removido, e o novo elemento ´e inserido ao final
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 4 / 35
Segunda Chance
Ex:
Ocorre page fault no tempo 20 e RA = 1
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 5 / 35
Segunda Chance
Ex:
Ocorre page fault no tempo 20 e RA = 1
RA = 0 e tempoA = 20 agora
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 5 / 35
Segunda Chance
Ex:
Ocorre page fault no tempo 20 e RA = 1
RA = 0 e tempoA = 20 agora
Repete a opera¸c˜ao com B
Se RB = 0, troca
Sen˜ao, passa ao final da fila, com RB = 0, e verifica-se C
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 5 / 35
Algoritmo do Rel´ogio
Melhoria ao Segunda
Chance:
Lista circular com
ponteiro (cabe¸ca)
apontando para a p´agina
mais antiga, na forma de
um rel´ogio
Simplesmente uma
implementa¸c˜ao diferente
do segunda chance
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 6 / 35
Algoritmo do Rel´ogio
Quando ocorre um page fault:
Inspeciona-se a cabe¸ca da lista
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 7 / 35
Algoritmo do Rel´ogio
Quando ocorre um page fault:
Inspeciona-se a cabe¸ca da lista
Se R = 0:
Substitui-se a p´agina da cabe¸ca pela nova p´agina
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 7 / 35
Algoritmo do Rel´ogio
Quando ocorre um page fault:
Inspeciona-se a cabe¸ca da lista
Se R = 0:
Substitui-se a p´agina da cabe¸ca pela nova p´agina
Avan¸ca-se a cabe¸ca em uma posi¸c˜ao
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 7 / 35
Algoritmo do Rel´ogio
Quando ocorre um page fault:
Se R = 1:
R ´e feito 0 e avan¸ca-se a cabe¸ca em uma posi¸c˜ao
Repete-se o processo at´e encontrar p´agina com R = 0
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 8 / 35
Algoritmo do Rel´ogio
Quando ocorre um page fault:
Se R = 1:
R ´e feito 0 e avan¸ca-se a cabe¸ca em uma posi¸c˜ao
Repete-se o processo at´e encontrar p´agina com R = 0
Age como no caso anterior (R = 0)
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 8 / 35
LRU – Least Recently Used
Ideia:
P´aginas que foram muito usadas nas ´ultimas instru¸c˜oes
ser˜ao provavelmente usadas novamente nas pr´oximas
Troca a p´agina que permaneceu em desuso pelo maior
tempo (tempo de ´ultima referˆencia mais antigo)
Alto custo
Deve-se manter lista com todas as p´aginas que est˜ao na
mem´oria, com as mais recentemente utilizadas no in´ıcio e as
menos utilizadas no final
A lista deve ser atualizada a cada referˆencia da mem´oria
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 9 / 35
LRU – Least Recently Used
Pode ser implementado tanto por hardware quanto
por software
Hardware:
MMU deve suportar a implementa¸c˜ao LRU
Contador em hardware (64 bits), incrementado
automaticamente ap´os cada instru¸c˜ao
Se pol´ıtica local: contador inicia com o in´ıcio do processo
Se pol´ıtica global: contador inicia com in´ıcio do sistema
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 10 / 35
LRU – Least Recently Used
Hardware:
Ap´os cada referˆencia `a mem´oria, o valor atual de C
´e armazenado na entrada correspondente `a p´agina
usada na tabela de p´aginas
Tabela de p´aginas armazena o valor desse contador – C –
em cada entrada
Em um page fault, o S.O. examina todas as
entradas na tabela, para encontrar a com menor C
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 11 / 35
LRU – Hardware
Alternativamente:
Se o computador tem n molduras, o
hardware de LRU mant´em uma matriz
de n × n bits, inicialmente zero
Quando uma moldura k (ex, k=0) ´e
referenciada, o hardware faz todos os
bits da linha k serem 1, e os da coluna k
serem 0
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 12 / 35
LRU – Hardware (alternativo)
A qualquer momento, a linha com o menor valor
bin´ario ´e a menos recentemente usada. A linha
seguinte ´e a segunda menos recentemente usada, e
assim por diante.
Ex: referˆencias `as p´aginas 0, 1, 2, 3, 2
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 13 / 35
LRU – Hardware (alternativo)
Ex: referˆencias `as p´aginas 0, 1, 2, 3, 2
P´aginas: 0 1 2 3 2
P´aginas: 1 0 3 2 3
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 14 / 35
NFU – Not frequently used
Implementa¸c˜oes em hardware da LRU s˜ao rar´ıssimas
→ h´a que se simular em software
Simula¸c˜ao em Software – via NFU:
Para cada p´agina existe um contador, iniciado com zero
A cada interrup¸c˜ao do clock, o SO varre todas as p´aginas da
mem´oria
Para cada p´agina, adiciona o bit R (referˆencia) ao contador
correspondente
Conta, de fato, durante quantos tiques do clock cada p´agina
foi referenciada
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 15 / 35
NFU – Not frequently used
Simula¸c˜ao em Software – via NFU:
Em um page fault, escolhe a p´agina com o menor contador
Problema:
Como esse algoritmo n˜ao se esquece de nada,
p´aginas intensamente acessadas em uma por¸c˜ao
pequena do c´odigo, mas que n˜ao mais ser˜ao
acessadas futuramente, ter˜ao o contador alto e n˜ao
ser˜ao candidatas a remo¸c˜ao
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 16 / 35
NFU – Aging
Solu¸c˜ao: Aging
Controla quando a p´agina foi referenciada
Primeiro, os contadores s˜ao deslocados um bit
`a direita.
S´o ent˜ao o bit R ´e adicionado ao bit mais da esquerda
(tamb´em a cada interrup¸c˜ao do clock)
Em um page fault, a p´agina com o menor contador
´e removida
P´aginas que n˜ao tenham sido referenciadas por mais tempo,
ter˜ao mais zeros em seus bits mais significativos
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 17 / 35
NFU – Aging
Note que ap´os um m´aximo de 8 interrup¸c˜oes do clock uma p´agina n˜ao referenciada tem seu
contador zerado. Quanto mais tempo ficar sem ser referenciada, mais zeros `a sua esquerda
ter´a, e menor ser´a seu contador
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 18 / 35
LRU – Linux
P´aginas agrupadas em duas listas: ativa e inativa
Ativa
Inclui p´aginas que foram acessadas recentemente
Inativa
P´aginas que n˜ao foram acessadas por algum tempo
Em caso de necessidade, uma p´agina da lista de
inativas ´e removida
Naturalmente, p´aginas trocam de lista, conforme s˜ao
acessadas ou n˜ao
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 19 / 35
Working Set (WS)
Propriedade apresentada pela maioria dos processos:
Localidade de Referˆencia
Durante qualquer fase de execu¸c˜ao, o processo s´o vai
referenciar uma fra¸c˜ao relativamente pequena de suas
p´aginas
Conjunto de Trabalho (1968)
Conjunto de p´aginas que um processo est´a usando
(referenciando) atualmente
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 20 / 35
Working Set (WS)
Defini¸c˜ao:
w(k,t) ´e o conjunto que consiste, em um dado instante t, de
todas as p´aginas usadas pelas k referˆencias mais recentes `a
mem´oria
Objetivo principal: reduzir a falta de p´aginas
Um processo s´o ´e executado quando todas as p´aginas
necess´arias no tempo t est˜ao carregadas na mem´oria
Do contr´ario, poder´a gerar page faults
A ideia ´e determinar o working set de cada processo,
em um determinado momento, e certificar-se de tˆe-lo na
mem´oria antes de rodar o processo – Modelo de Conjunto
de Trabalho ou pr´e-pagina¸c˜ao (1970)
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 21 / 35
Working Set (WS)
O working set varia lentamente com o tempo
Podemos estimar o n´umero de p´aginas necess´arias quando o
programa ´e trazido do disco com base em seu working set de
quando foi interrompido
Pr´e-pagina¸c˜ao consiste em carregar essas p´aginas antes de
rodar novamente o processo
Implementa¸c˜ao:
O SO precisa manter registro de que p´aginas est˜ao no
working set
Quando ocorrer um page fault, encontre uma p´agina fora do
working set e a remova da mem´oria
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 22 / 35
Working Set (WS)
Implementa¸c˜ao:
Definir um valor para k
Contar as k referˆencias mais recentes, contudo, ´e custoso →
deve-se abandonar a ideia
Para simplificar, o working set pode ser visto como
o conjunto de p´aginas que o processo referenciou
durante os ´ultimos t segundos de sua execu¸c˜ao
Conta o tempo individual (de CPU, descontando
escalonamento) do processo → seu tempo virtual atual
Utiliza bit R e o tempo de rel´ogio (tempo virtual) da ´ultima
vez que a p´agina foi referenciada
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 23 / 35
Working Set (WS) – Algoritmo
Pressupostos:
O hardware define os bits R e M
Em cada interrup¸c˜ao do clock, o bit de referˆencia ´e limpo
O tempo do working set se estende por v´arias interrup¸c˜oes
do clock
O tempo virtual do ´ultimo acesso de cada p´agina ´e mantido
em sua entrada na tabela de p´aginas
Em cada page fault, a tabela de p´aginas inteira ´e
buscada (para se encontrar candidata a remo¸c˜ao)
`A medida em que cada entrada ´e processada, examine R
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 24 / 35
Working Set (WS) – Algoritmo
Se R=1, copie o tempo virtual atual para o campo Tempo
do ´Ultimo Uso na tabela de p´aginas, indicando que a p´agina
estava em uso no instante da page fault, ou seja, estava no
working set
N˜ao ´e candidata
Se R=0, a p´agina n˜ao foi referenciada no ciclo atual, e pode
ser uma candidata.
Nesse caso, se sua idade (tempo virtual atual menos seu Tempo de
´Ultimo Uso) for maior que o intervalo t do working set, ela n˜ao est´a
nele, e ser´a removida
A nova p´agina ´e ent˜ao carregada a´ı
O procedimento continua atualizando as demais entradas
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 25 / 35
Working Set (WS) – Algoritmo
Se, contudo, a idade for ≤ t, a p´agina ´e poupada. Ainda
assim, a p´agina com maior idade (menor Tempo de ´Ultimo
Uso) ´e marcada
Se nenhum candidato for encontrado (todas as p´aginas
est˜ao no working set), substitua a p´agina mais velha, dentre
as com R=0
Na pior das hip´oteses, todas tem R=1
Nesse caso, escolhe-se uma aleatoriamente para remo¸c˜ao
Preferivelmente uma n˜ao modificada
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 26 / 35
Working Set (WS) – Algoritmo
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 27 / 35
WSClock (1981)
Clock + Working Set
Utiliza lista circular de molduras de p´aginas
Inicialmente vazia
`A medida em que as p´aginas s˜ao carregadas, entram na
lista, formando um anel
Cada entrada da lista cont´em o tempo de ´ultimo uso, al´em
dos bits R e M
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 28 / 35
WSClock
Funcionamento:
A cada page fault, a p´agina da cabe¸ca ´e
examinada primeiro
Se R=1
A p´agina foi usada durante o ciclo de clock
corrente → n˜ao ´e candidata a remo¸c˜ao
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 29 / 35
WSClock
Funcionamento:
A cada page fault, a p´agina da cabe¸ca ´e
examinada primeiro
Se R=1
A p´agina foi usada durante o ciclo de clock
corrente → n˜ao ´e candidata a remo¸c˜ao
Copie o tempo virtual atual para o campo
Tempo do ´Ultimo Uso (TLU) na tabela de
p´aginas
Faz R = 0 e avan¸ca a cabe¸ca `a pr´oxima
p´agina, repetindo o algoritmo para esta
p´agina
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 29 / 35
WSClock
Funcionamento:
Se R=0
Se a idade da p´agina for ≤ t, ignore-a (est´a
no working set)
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 30 / 35
WSClock
Funcionamento:
Se R=0
Se a idade da p´agina for ≤ t, ignore-a (est´a
no working set)
Se a idade da p´agina for maior que o
intervalo t e a p´agina estiver limpa (M=0)
→ n˜ao est´a no working set e uma c´opia
v´alida existe no disco
A p´agina ´e substitu´ıda
A cabe¸ca da lista avan¸ca
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 30 / 35
WSClock
Funcionamento
Se R=0
Se, contudo, a idade da p´agina for maior que o intervalo t, mas a
p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco
Agenda uma escrita ao disco (escalonada no driver de disco),
evitando troca de processo
Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 31 / 35
WSClock
Funcionamento
Se R=0
Se, contudo, a idade da p´agina for maior que o intervalo t, mas a
p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco
Agenda uma escrita ao disco (escalonada no driver de disco),
evitando troca de processo
Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 31 / 35
WSClock
Funcionamento
Se R=0
Se, contudo, a idade da p´agina for maior que o intervalo t, mas a
p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco
Agenda uma escrita ao disco (escalonada no driver de disco),
evitando troca de processo
Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 31 / 35
WSClock
Funcionamento
Se R=0
Se, contudo, a idade da p´agina for maior que o intervalo t, mas a
p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco
Agenda uma escrita ao disco (escalonada no driver de disco),
evitando troca de processo
Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 32 / 35
WSClock
Funcionamento
Se R=0
Se, contudo, a idade da p´agina for maior que o intervalo t, mas a
p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco
Agenda uma escrita ao disco (escalonada no driver de disco),
evitando troca de processo
Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 32 / 35
WSClock
Funcionamento
Se R=0
Se, contudo, a idade da p´agina for maior que o intervalo t, mas a
p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco
Agenda uma escrita ao disco (escalonada no driver de disco),
evitando troca de processo
Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 32 / 35
WSClock
Se a cabe¸ca der uma volta completa na lista sem
substituir:
E pelo menos uma escrita no disco foi agendada
A cabe¸ca continua se movendo, em busca de uma p´agina limpa
Em algum momento a escrita agendada ser´a executada, marcando a
p´agina como limpa
Alternativamente, pode-se escolher outro processo para rodar,
enquanto aguarda
E nenhuma escrita foi agendada
Todas as p´aginas est˜ao no working set
Na falta de informa¸c˜ao adicional, substitua qualquer p´agina limpa
(M=0)
Se nenhuma p´agina limpa existir, escreva a atual no disco
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 33 / 35
Algoritmos de Troca de P´agina
Algoritmos de
substitui¸c˜ao local:
Working Set
WSClock
O conceito de working set se
aplica somente a um ´unico
processo → n˜ao h´a working
set para a m´aquina como
um todo
Algoritmos de
substitui¸c˜ao
local/global:
´Otimo
NRU
FIFO
Segunda Chance
LRU
Rel´ogio
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 34 / 35
Referˆencias Adicionais
http://cs.winona.edu/Francioni/cs405/wsclock.html
Bovet, D. P.; Cesati, M.: Understanding the Linux Kernel, 3
ed.
Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 35 / 35

Mais conteúdo relacionado

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (20)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 

Último

Testes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdfTestes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdfCsarBaltazar1
 
Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...
Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...
Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...marioeugenio8
 
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PEEdital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PEblogdoelvis
 
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...LuizHenriquedeAlmeid6
 
História concisa da literatura brasileira- Alfredo Bosi..pdf
História concisa da literatura brasileira- Alfredo Bosi..pdfHistória concisa da literatura brasileira- Alfredo Bosi..pdf
História concisa da literatura brasileira- Alfredo Bosi..pdfGisellySobral
 
Tema de redação - A prática do catfish e seus perigos.pdf
Tema de redação - A prática do catfish e seus perigos.pdfTema de redação - A prática do catfish e seus perigos.pdf
Tema de redação - A prática do catfish e seus perigos.pdfAnaAugustaLagesZuqui
 
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...azulassessoria9
 
Sequência didática Carona 1º Encontro.pptx
Sequência didática Carona 1º Encontro.pptxSequência didática Carona 1º Encontro.pptx
Sequência didática Carona 1º Encontro.pptxCarolineWaitman
 
Acróstico - Maio Laranja
Acróstico  - Maio Laranja Acróstico  - Maio Laranja
Acróstico - Maio Laranja Mary Alvarenga
 
EBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptx
EBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptxEBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptx
EBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptxIlda Bicacro
 
Slides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptx
Slides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptxSlides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptx
Slides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptxLuizHenriquedeAlmeid6
 
transcrição fonética para aulas de língua
transcrição fonética para aulas de línguatranscrição fonética para aulas de língua
transcrição fonética para aulas de línguaKelly Mendes
 
FUNDAMENTOS DA PSICOPEDAGOGIA - material
FUNDAMENTOS DA PSICOPEDAGOGIA - materialFUNDAMENTOS DA PSICOPEDAGOGIA - material
FUNDAMENTOS DA PSICOPEDAGOGIA - materialDouglasVasconcelosMa
 
Religiosidade de Assaré - Prof. Francisco Leite
Religiosidade de Assaré - Prof. Francisco LeiteReligiosidade de Assaré - Prof. Francisco Leite
Religiosidade de Assaré - Prof. Francisco Leiteprofesfrancleite
 
472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...
472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...
472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...GisellySobral
 
5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptx
5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptx5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptx
5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptxnelsontobontrujillo
 
[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docx
[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docx[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docx
[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docxSílvia Carneiro
 
Aspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptxAspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptxprofbrunogeo95
 
UFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdfUFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdfManuais Formação
 

Último (20)

Testes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdfTestes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdf
 
Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...
Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...
Proposta de redação Soneto de texto do gênero poema para a,usos do 9 ano do e...
 
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PEEdital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
 
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
 
Poema - Aedes Aegypt.
Poema - Aedes Aegypt.Poema - Aedes Aegypt.
Poema - Aedes Aegypt.
 
História concisa da literatura brasileira- Alfredo Bosi..pdf
História concisa da literatura brasileira- Alfredo Bosi..pdfHistória concisa da literatura brasileira- Alfredo Bosi..pdf
História concisa da literatura brasileira- Alfredo Bosi..pdf
 
Tema de redação - A prática do catfish e seus perigos.pdf
Tema de redação - A prática do catfish e seus perigos.pdfTema de redação - A prática do catfish e seus perigos.pdf
Tema de redação - A prática do catfish e seus perigos.pdf
 
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...
 
Sequência didática Carona 1º Encontro.pptx
Sequência didática Carona 1º Encontro.pptxSequência didática Carona 1º Encontro.pptx
Sequência didática Carona 1º Encontro.pptx
 
Acróstico - Maio Laranja
Acróstico  - Maio Laranja Acróstico  - Maio Laranja
Acróstico - Maio Laranja
 
EBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptx
EBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptxEBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptx
EBPAL_Serta_Caminhos do Lixo final 9ºD (1).pptx
 
Slides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptx
Slides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptxSlides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptx
Slides Lição 07, Central Gospel, As Duas Testemunhas Do Final Dos Tempos.pptx
 
transcrição fonética para aulas de língua
transcrição fonética para aulas de línguatranscrição fonética para aulas de língua
transcrição fonética para aulas de língua
 
FUNDAMENTOS DA PSICOPEDAGOGIA - material
FUNDAMENTOS DA PSICOPEDAGOGIA - materialFUNDAMENTOS DA PSICOPEDAGOGIA - material
FUNDAMENTOS DA PSICOPEDAGOGIA - material
 
Religiosidade de Assaré - Prof. Francisco Leite
Religiosidade de Assaré - Prof. Francisco LeiteReligiosidade de Assaré - Prof. Francisco Leite
Religiosidade de Assaré - Prof. Francisco Leite
 
472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...
472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...
472037515-Coelho-Nelly-Novaes-Literatura-Infantil-teoria-analise-e-didatica-p...
 
5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptx
5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptx5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptx
5. EJEMPLOS DE ESTRUCTURASQUINTO GRADO.pptx
 
[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docx
[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docx[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docx
[2.3.3] 100%_CN7_CAP_[FichaAvaliacao3].docx
 
Aspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptxAspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptx
 
UFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdfUFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdf
 

(ACH2044) Sistemas Operacionais - Aula 16

  • 1. Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao Norton Trevisan Roman 18 de outubro de 2017 Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 1 / 35
  • 2. FIFO – First-in First-out SO mant´em uma fila das p´aginas atualmente na mem´oria A p´agina no in´ıcio da fila ´e a mais antiga e a p´agina no final ´e a mais nova Quando ocorre um page fault A p´agina do in´ıcio (mais velha) ´e removida A nova ´e inserida ao final da fila Simples, mas pode ser ineficiente, pois uma p´agina que est´a em uso constante pode ser retirada Por isso raramente utilizado Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 2 / 35
  • 3. Segunda Chance FIFO + bit R Evita que se jogue fora p´agina intensamente usada Inspeciona o bit R da p´agina mais antiga Se for 0, ela ´e velha (est´a no in´ıcio da fila) e n˜ao foi usada recentemente → ´e trocada Se for 1, o bit ´e feito 0 A p´agina ´e colocada no final da fila Seu tempo de carga ´e modificado, fazendo parecer que rec´em chegou na mem´oria (recebe uma segunda chance) A busca continua Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 3 / 35
  • 4. Segunda Chance Ex: Ocorre page fault no tempo 20 e RA = 0 Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 4 / 35
  • 5. Segunda Chance Ex: Ocorre page fault no tempo 20 e RA = 0 A ´e removido, e o novo elemento ´e inserido ao final Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 4 / 35
  • 6. Segunda Chance Ex: Ocorre page fault no tempo 20 e RA = 1 Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 5 / 35
  • 7. Segunda Chance Ex: Ocorre page fault no tempo 20 e RA = 1 RA = 0 e tempoA = 20 agora Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 5 / 35
  • 8. Segunda Chance Ex: Ocorre page fault no tempo 20 e RA = 1 RA = 0 e tempoA = 20 agora Repete a opera¸c˜ao com B Se RB = 0, troca Sen˜ao, passa ao final da fila, com RB = 0, e verifica-se C Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 5 / 35
  • 9. Algoritmo do Rel´ogio Melhoria ao Segunda Chance: Lista circular com ponteiro (cabe¸ca) apontando para a p´agina mais antiga, na forma de um rel´ogio Simplesmente uma implementa¸c˜ao diferente do segunda chance Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 6 / 35
  • 10. Algoritmo do Rel´ogio Quando ocorre um page fault: Inspeciona-se a cabe¸ca da lista Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 7 / 35
  • 11. Algoritmo do Rel´ogio Quando ocorre um page fault: Inspeciona-se a cabe¸ca da lista Se R = 0: Substitui-se a p´agina da cabe¸ca pela nova p´agina Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 7 / 35
  • 12. Algoritmo do Rel´ogio Quando ocorre um page fault: Inspeciona-se a cabe¸ca da lista Se R = 0: Substitui-se a p´agina da cabe¸ca pela nova p´agina Avan¸ca-se a cabe¸ca em uma posi¸c˜ao Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 7 / 35
  • 13. Algoritmo do Rel´ogio Quando ocorre um page fault: Se R = 1: R ´e feito 0 e avan¸ca-se a cabe¸ca em uma posi¸c˜ao Repete-se o processo at´e encontrar p´agina com R = 0 Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 8 / 35
  • 14. Algoritmo do Rel´ogio Quando ocorre um page fault: Se R = 1: R ´e feito 0 e avan¸ca-se a cabe¸ca em uma posi¸c˜ao Repete-se o processo at´e encontrar p´agina com R = 0 Age como no caso anterior (R = 0) Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 8 / 35
  • 15. LRU – Least Recently Used Ideia: P´aginas que foram muito usadas nas ´ultimas instru¸c˜oes ser˜ao provavelmente usadas novamente nas pr´oximas Troca a p´agina que permaneceu em desuso pelo maior tempo (tempo de ´ultima referˆencia mais antigo) Alto custo Deve-se manter lista com todas as p´aginas que est˜ao na mem´oria, com as mais recentemente utilizadas no in´ıcio e as menos utilizadas no final A lista deve ser atualizada a cada referˆencia da mem´oria Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 9 / 35
  • 16. LRU – Least Recently Used Pode ser implementado tanto por hardware quanto por software Hardware: MMU deve suportar a implementa¸c˜ao LRU Contador em hardware (64 bits), incrementado automaticamente ap´os cada instru¸c˜ao Se pol´ıtica local: contador inicia com o in´ıcio do processo Se pol´ıtica global: contador inicia com in´ıcio do sistema Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 10 / 35
  • 17. LRU – Least Recently Used Hardware: Ap´os cada referˆencia `a mem´oria, o valor atual de C ´e armazenado na entrada correspondente `a p´agina usada na tabela de p´aginas Tabela de p´aginas armazena o valor desse contador – C – em cada entrada Em um page fault, o S.O. examina todas as entradas na tabela, para encontrar a com menor C Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 11 / 35
  • 18. LRU – Hardware Alternativamente: Se o computador tem n molduras, o hardware de LRU mant´em uma matriz de n × n bits, inicialmente zero Quando uma moldura k (ex, k=0) ´e referenciada, o hardware faz todos os bits da linha k serem 1, e os da coluna k serem 0 Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 12 / 35
  • 19. LRU – Hardware (alternativo) A qualquer momento, a linha com o menor valor bin´ario ´e a menos recentemente usada. A linha seguinte ´e a segunda menos recentemente usada, e assim por diante. Ex: referˆencias `as p´aginas 0, 1, 2, 3, 2 Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 13 / 35
  • 20. LRU – Hardware (alternativo) Ex: referˆencias `as p´aginas 0, 1, 2, 3, 2 P´aginas: 0 1 2 3 2 P´aginas: 1 0 3 2 3 Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 14 / 35
  • 21. NFU – Not frequently used Implementa¸c˜oes em hardware da LRU s˜ao rar´ıssimas → h´a que se simular em software Simula¸c˜ao em Software – via NFU: Para cada p´agina existe um contador, iniciado com zero A cada interrup¸c˜ao do clock, o SO varre todas as p´aginas da mem´oria Para cada p´agina, adiciona o bit R (referˆencia) ao contador correspondente Conta, de fato, durante quantos tiques do clock cada p´agina foi referenciada Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 15 / 35
  • 22. NFU – Not frequently used Simula¸c˜ao em Software – via NFU: Em um page fault, escolhe a p´agina com o menor contador Problema: Como esse algoritmo n˜ao se esquece de nada, p´aginas intensamente acessadas em uma por¸c˜ao pequena do c´odigo, mas que n˜ao mais ser˜ao acessadas futuramente, ter˜ao o contador alto e n˜ao ser˜ao candidatas a remo¸c˜ao Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 16 / 35
  • 23. NFU – Aging Solu¸c˜ao: Aging Controla quando a p´agina foi referenciada Primeiro, os contadores s˜ao deslocados um bit `a direita. S´o ent˜ao o bit R ´e adicionado ao bit mais da esquerda (tamb´em a cada interrup¸c˜ao do clock) Em um page fault, a p´agina com o menor contador ´e removida P´aginas que n˜ao tenham sido referenciadas por mais tempo, ter˜ao mais zeros em seus bits mais significativos Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 17 / 35
  • 24. NFU – Aging Note que ap´os um m´aximo de 8 interrup¸c˜oes do clock uma p´agina n˜ao referenciada tem seu contador zerado. Quanto mais tempo ficar sem ser referenciada, mais zeros `a sua esquerda ter´a, e menor ser´a seu contador Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 18 / 35
  • 25. LRU – Linux P´aginas agrupadas em duas listas: ativa e inativa Ativa Inclui p´aginas que foram acessadas recentemente Inativa P´aginas que n˜ao foram acessadas por algum tempo Em caso de necessidade, uma p´agina da lista de inativas ´e removida Naturalmente, p´aginas trocam de lista, conforme s˜ao acessadas ou n˜ao Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 19 / 35
  • 26. Working Set (WS) Propriedade apresentada pela maioria dos processos: Localidade de Referˆencia Durante qualquer fase de execu¸c˜ao, o processo s´o vai referenciar uma fra¸c˜ao relativamente pequena de suas p´aginas Conjunto de Trabalho (1968) Conjunto de p´aginas que um processo est´a usando (referenciando) atualmente Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 20 / 35
  • 27. Working Set (WS) Defini¸c˜ao: w(k,t) ´e o conjunto que consiste, em um dado instante t, de todas as p´aginas usadas pelas k referˆencias mais recentes `a mem´oria Objetivo principal: reduzir a falta de p´aginas Um processo s´o ´e executado quando todas as p´aginas necess´arias no tempo t est˜ao carregadas na mem´oria Do contr´ario, poder´a gerar page faults A ideia ´e determinar o working set de cada processo, em um determinado momento, e certificar-se de tˆe-lo na mem´oria antes de rodar o processo – Modelo de Conjunto de Trabalho ou pr´e-pagina¸c˜ao (1970) Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 21 / 35
  • 28. Working Set (WS) O working set varia lentamente com o tempo Podemos estimar o n´umero de p´aginas necess´arias quando o programa ´e trazido do disco com base em seu working set de quando foi interrompido Pr´e-pagina¸c˜ao consiste em carregar essas p´aginas antes de rodar novamente o processo Implementa¸c˜ao: O SO precisa manter registro de que p´aginas est˜ao no working set Quando ocorrer um page fault, encontre uma p´agina fora do working set e a remova da mem´oria Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 22 / 35
  • 29. Working Set (WS) Implementa¸c˜ao: Definir um valor para k Contar as k referˆencias mais recentes, contudo, ´e custoso → deve-se abandonar a ideia Para simplificar, o working set pode ser visto como o conjunto de p´aginas que o processo referenciou durante os ´ultimos t segundos de sua execu¸c˜ao Conta o tempo individual (de CPU, descontando escalonamento) do processo → seu tempo virtual atual Utiliza bit R e o tempo de rel´ogio (tempo virtual) da ´ultima vez que a p´agina foi referenciada Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 23 / 35
  • 30. Working Set (WS) – Algoritmo Pressupostos: O hardware define os bits R e M Em cada interrup¸c˜ao do clock, o bit de referˆencia ´e limpo O tempo do working set se estende por v´arias interrup¸c˜oes do clock O tempo virtual do ´ultimo acesso de cada p´agina ´e mantido em sua entrada na tabela de p´aginas Em cada page fault, a tabela de p´aginas inteira ´e buscada (para se encontrar candidata a remo¸c˜ao) `A medida em que cada entrada ´e processada, examine R Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 24 / 35
  • 31. Working Set (WS) – Algoritmo Se R=1, copie o tempo virtual atual para o campo Tempo do ´Ultimo Uso na tabela de p´aginas, indicando que a p´agina estava em uso no instante da page fault, ou seja, estava no working set N˜ao ´e candidata Se R=0, a p´agina n˜ao foi referenciada no ciclo atual, e pode ser uma candidata. Nesse caso, se sua idade (tempo virtual atual menos seu Tempo de ´Ultimo Uso) for maior que o intervalo t do working set, ela n˜ao est´a nele, e ser´a removida A nova p´agina ´e ent˜ao carregada a´ı O procedimento continua atualizando as demais entradas Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 25 / 35
  • 32. Working Set (WS) – Algoritmo Se, contudo, a idade for ≤ t, a p´agina ´e poupada. Ainda assim, a p´agina com maior idade (menor Tempo de ´Ultimo Uso) ´e marcada Se nenhum candidato for encontrado (todas as p´aginas est˜ao no working set), substitua a p´agina mais velha, dentre as com R=0 Na pior das hip´oteses, todas tem R=1 Nesse caso, escolhe-se uma aleatoriamente para remo¸c˜ao Preferivelmente uma n˜ao modificada Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 26 / 35
  • 33. Working Set (WS) – Algoritmo Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 27 / 35
  • 34. WSClock (1981) Clock + Working Set Utiliza lista circular de molduras de p´aginas Inicialmente vazia `A medida em que as p´aginas s˜ao carregadas, entram na lista, formando um anel Cada entrada da lista cont´em o tempo de ´ultimo uso, al´em dos bits R e M Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 28 / 35
  • 35. WSClock Funcionamento: A cada page fault, a p´agina da cabe¸ca ´e examinada primeiro Se R=1 A p´agina foi usada durante o ciclo de clock corrente → n˜ao ´e candidata a remo¸c˜ao Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 29 / 35
  • 36. WSClock Funcionamento: A cada page fault, a p´agina da cabe¸ca ´e examinada primeiro Se R=1 A p´agina foi usada durante o ciclo de clock corrente → n˜ao ´e candidata a remo¸c˜ao Copie o tempo virtual atual para o campo Tempo do ´Ultimo Uso (TLU) na tabela de p´aginas Faz R = 0 e avan¸ca a cabe¸ca `a pr´oxima p´agina, repetindo o algoritmo para esta p´agina Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 29 / 35
  • 37. WSClock Funcionamento: Se R=0 Se a idade da p´agina for ≤ t, ignore-a (est´a no working set) Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 30 / 35
  • 38. WSClock Funcionamento: Se R=0 Se a idade da p´agina for ≤ t, ignore-a (est´a no working set) Se a idade da p´agina for maior que o intervalo t e a p´agina estiver limpa (M=0) → n˜ao est´a no working set e uma c´opia v´alida existe no disco A p´agina ´e substitu´ıda A cabe¸ca da lista avan¸ca Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 30 / 35
  • 39. WSClock Funcionamento Se R=0 Se, contudo, a idade da p´agina for maior que o intervalo t, mas a p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco Agenda uma escrita ao disco (escalonada no driver de disco), evitando troca de processo Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 31 / 35
  • 40. WSClock Funcionamento Se R=0 Se, contudo, a idade da p´agina for maior que o intervalo t, mas a p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco Agenda uma escrita ao disco (escalonada no driver de disco), evitando troca de processo Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 31 / 35
  • 41. WSClock Funcionamento Se R=0 Se, contudo, a idade da p´agina for maior que o intervalo t, mas a p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco Agenda uma escrita ao disco (escalonada no driver de disco), evitando troca de processo Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 31 / 35
  • 42. WSClock Funcionamento Se R=0 Se, contudo, a idade da p´agina for maior que o intervalo t, mas a p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco Agenda uma escrita ao disco (escalonada no driver de disco), evitando troca de processo Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 32 / 35
  • 43. WSClock Funcionamento Se R=0 Se, contudo, a idade da p´agina for maior que o intervalo t, mas a p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco Agenda uma escrita ao disco (escalonada no driver de disco), evitando troca de processo Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 32 / 35
  • 44. WSClock Funcionamento Se R=0 Se, contudo, a idade da p´agina for maior que o intervalo t, mas a p´agina estiver suja (M=1) → n˜ao possui c´opia v´alida no disco Agenda uma escrita ao disco (escalonada no driver de disco), evitando troca de processo Avan¸ca a cabe¸ca da lista, prosseguindo da p´agina seguinte Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 32 / 35
  • 45. WSClock Se a cabe¸ca der uma volta completa na lista sem substituir: E pelo menos uma escrita no disco foi agendada A cabe¸ca continua se movendo, em busca de uma p´agina limpa Em algum momento a escrita agendada ser´a executada, marcando a p´agina como limpa Alternativamente, pode-se escolher outro processo para rodar, enquanto aguarda E nenhuma escrita foi agendada Todas as p´aginas est˜ao no working set Na falta de informa¸c˜ao adicional, substitua qualquer p´agina limpa (M=0) Se nenhuma p´agina limpa existir, escreva a atual no disco Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 33 / 35
  • 46. Algoritmos de Troca de P´agina Algoritmos de substitui¸c˜ao local: Working Set WSClock O conceito de working set se aplica somente a um ´unico processo → n˜ao h´a working set para a m´aquina como um todo Algoritmos de substitui¸c˜ao local/global: ´Otimo NRU FIFO Segunda Chance LRU Rel´ogio Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 34 / 35
  • 47. Referˆencias Adicionais http://cs.winona.edu/Francioni/cs405/wsclock.html Bovet, D. P.; Cesati, M.: Understanding the Linux Kernel, 3 ed. Norton Trevisan Roman Aula 16 – Troca de P´agina e Implementa¸c˜ao de Pagina¸c˜ao18 de outubro de 2017 35 / 35