Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia
Capítulo 10Capítulo 10Gerência de Memória VirtualGerência de Memória Virtual
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/2
Espaço de Endereçamento Virtual
En dereço Físico
50 0
50 1
50 2
50 3
50 4
.
.
.
59 9
V ET [1]
V ET [2]
V ET [3]
V ET [4]
V ET [5]
.
.
.
.
.
.
V ET [10 0]
• Vetor de 100 posições
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/3Arq
uite
tura
de
Sis
tem
as O
pera
cion
ais
– M
acha
do/M
aia
Espaço de Endereçamento Virtual
• Espaço de endereçamento virtual e real
Esp
aço
de
en
der
eça
me
nto
vir
tua
l
Esp
aço
de
end
ereç
am
ento
rea
l
En dereço vir tu a l 0
En dereço vir tu a l 1
En dereço vir tu a l 2
En dereço vir tu a l 3
En dereço vir tu a l 4
En dereço vir tu a l 5
.
.
.
En dereço vir tu a l V
En dereço rea l 0
En dereço rea l 1
En dereço rea l 2
En dereço rea l 3
.
.
.
En dereço rea l R
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/4Arq
uite
tura
de
Sis
tem
as O
pera
cion
ais
– M
acha
do/M
aia
Espaço de Endereçamento Virtual
• Espaço de endereçamento virtual
M em ória V irtua l
.
.
.
.
M em ória Pr in cipa l
M em ór ia Secu nd á r ia
.
.
.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/5
Mapeamento
• Mapeamento
M em ória V irtua l
M em ór ia Pr in cip a l
M ap eam en to
.
.
.
.
.
.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/6
Mapeamento
• Tabela de mapeamento
Processo A
Esp aço d een dereça m en to
virtua l d e A
En dereço vir tu a l 1
.
.
.
Tab ela dem a pea m en to
d e A
Esp aço d een dereça m en to
virtua l d e B
En dereço vir tu a l 1
.
.
.
Tab ela dem a pea m en to
d e B
Processo B
M em ó ria Pr in cip a l
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/7
Memória Virtual por Paginação
• Tabela de páginas
M em ória V ir tua l
.
.
.
.
Págin a virtua l 0
Pág in a virtua l 1
Pág in a virtua l 2
Pág in a virtua l V
Tab ela dep ágin as
ETP
M em ória Pr in cipa l
M em ór ia Secu nd á r ia
.
.
.
Págin a rea l 0
Pág in a rea l 1
Pág in a rea l R
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/8
Memória Virtual por Paginação
• Tradução do endereço virtual Págin a virtua l
D eslocam en to
En dereço virtu a l
D esloc.N PV
En d. do fra m e
ETP
Tab ela de pá g ina s
En d. do fra m e D esloc.
Fram e
D eslocam en to
En dereço físico
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/9
Memória Virtual por Paginação
• Mecanismo de tradução
En dereço virtu a l
Ta b ela de pá g ina s
Bit d e va l id ad e
0
M em ór ia Pr in cipa l
M em ór ia secun d á ria
Page fau lt
Ta b ela de pá g ina s
Bit d e va l id ad e
1
M em ór ia Pr in cipa l
M em ór ia secun d á ria
Pa ge in
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/10
Políticas de Substituição de Páginas
• Substituição de páginas
M em ória Pr in cip a l
A rq u ivo dep ag in açã o
Pag e o ut
Pag e in
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/11
Working Set
• Conceito de localidade
Página 0
Página 1
Página 2
Página 3
Página 4
In icia lizaçã o
W H ILE () D O BEG IN
EN D ;
Im pr im e resu lta do s
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/12
Working Set
• Modelo de working set
tem po
P2 P3 P2 P8
t1 t2
J an ela d o w o rk ing set ( t)
W (t , t)2
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/13
Working Set
• Tamanho do working set
tem po
P2 P3 P4 P5 P2 P5 P5 P5 P5 P6
t1 t2 t3
ta tb
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/14
Working Set
• Taxa de page fault x limite de páginas reais
Lim ite d e p ág in as rea is
Taxa
de
pa
ge
fa
ult
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/15
Algoritmos de Substituição de Páginas
• FIFO
Pág in am a is an tig a
Pág in am a is recente
sa íd a en trad a
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/16
Algoritmos de Substituição de Páginas
• FIFO com Buffer de Páginas
in ício fi m
in íciofi m
(a ) (c)(b )
Lista d e p ág in as l ivres
Lista d e p ág in as a lo cad as
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/17
Algoritmos de Substituição de Páginas
• FIFO Circular (Clock)
P1
P2
P3
P4P5
Pn
BR= 1
BR= 1
BR= 0
p ágin am a is
an tiga
(a )
P1
P2
P3
P4P5
Pn
BR= 0
BR= 0
BR= 0
p ágin aselecio n ad a
(b )
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/18
Tamanho de Página
• Fragmentação interna
Págin a 0
Pág in a 1
Pág in a 2
Pág in a 3
Pág in a 4
PRO G RA M Frag ;V A R
PRO C ED U RE A ;
EN D ;
BEG IN
EN D.
Frag m en tação
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/19
Paginação em Múltiplos Níveis
• Paginação em um nível
0
1
2
(2 - 1)20
Tab ela de pá g ina s
D esloc.N PV
12 b its20 b its
En dereço V irtua l
32 b its
4 M b
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/20
Paginação em Múltiplos Níveis
• Endereço virtual em dois níveis
Tab ela d iretó r io
D esloc.12 b its
N PV 110 b its
En dereço V irtua l
N PV 210 b its
Tab ela de pá g ina s
fram e
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/21
Paginação em Múltiplos Níveis
• Paginação em dois níveis
M em ória Pr in cip a l
10 23
Ta b ela d ire tó r io
0
1
2
3
0
1
2
10 23
Ta b ela de pá g ina s 1
3
0
1
2
10 23
Ta b ela de pá g ina s 0
3
0
1
2
10 23
Ta b ela de pá g ina s 1 023
3
fram e 10 0
fram e 20 00
fram e 40 00
fram e 30 0 10 0
40 00
20 00
30 0
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/22
Translation Lookaside Buffer
• Translation lookaside buffer (TLB)
M em ó ria p rincip a l
D esloc.N PV
En dereço V irtua l
Tran sla tio n Lo o kasid e Buff er (TLB)
BV Tag En d. F ísico
0
1
0
1
0
1
Tab ela de m ap eam en to
BV En d. F ísico
1
1
1
0
1
0
1
M em ó ria secun dá ria
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/23
Proteção de Memória
• Proteção para páginas
L GEn dereço da
p ág in a / seg m en to
Bits d e p ro teçã o
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/24
Proteção de Memória
• Mecanismo de proteção
D escrição
Sem a cessoA cesso d e le itu ra
A cesso p a ra le itura / g ravação
LG
001011
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/25
Compartilhamento de Memória
• Compartilhamento de memória
Processo A
Esp aço deen dereça m en to
virtua l d e A
En dereço vir tu a l 1
.
.
.
Tab ela dem a pea m en to
d e A
Esp aço deen dereça m en to
virtua l d e B
En dereço vir tu a l 1
.
.
.
Tab ela dem a pea m en to
d e B
Processo B
M em ória Pr in cip a l
Pág in a
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/26
Memória Virtual por Segmentação
• Segmentação
PRO G RA M Segm ento ;
V A R A : A RRA Y... C : . ..
PRO C ED U RE X;
EN D ;
FU N C TIO N Y;
EN D ;
BEG IN
EN D.
Proced im ento X
Program a Pr in cipa l
Fu nçã o Y
A rray A
Va riáve l C
.
.
.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/27
Memória Virtual por Segmentação
• Tradução do endereço virtual D eslocam en to
En dereço virtu a l
D esloc.
En d. do seg m en to
ETS
Tab ela de seg m en tos
D esloc.
Segm ento n am em ória pr in cipa l
D eslocam en to
En dereço físico
Segm ento vir tua l
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/28
Memória Virtual por Segmentação com Paginação
• Segmentação com paginação
En dereço do fram e D eslocam en to
D eslocam en toN um .
seg m en toN um .
p ágin a
En dereço vir tu a l
Segm ento virtua l
En d. da ta bela d e p ág in as
ETS
Tab ela de seg m en tos
En dereço do fram e
ETP
Tab ela de pá g ina s
En dereço físico
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
10/29
Swapping em Memória Virtual
• Swapping em memória virtual M em ória Pr in cipa l
Processo A
Processo B
Processo E
Processo D
Processo CProcesso F
M em ória Pr in cipa l
Processo A
Processo F
Processo B
Processo D
Processo CA rq u ivo desw a pp in g
Processo B
Sw ap ou t
Sw ap in
Top Related