i a Arquitetura de Sistemas OperacionaisOperacionaispopov/aulas/unisul/so/ASO - Cap. 10... ·...
Transcript of i a Arquitetura de Sistemas OperacionaisOperacionaispopov/aulas/unisul/so/ASO - Cap. 10... ·...
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/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
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/2
Espaço de Endereçamento Virtual
E n d e r e ç o F í s i c o
5 0 0
5 0 1
5 0 2
5 0 3
5 0 4
.
.
.
5 9 9
V E T [ 1 ]
V E T [ 2 ]
V E T [ 3 ]
V E T [ 4 ]
V E T [ 5 ]
.
.
.
.
.
.
V E T [ 1 0 0 ]
• Vetor de 100 posições
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/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 Es
pa
ço d
e e
nd
ere
çam
en
to v
irtu
al
Esp
aço
de
en
de
reça
men
to r
eal
E n d e r e ç o v i r t u a l 0
E n d e r e ç o v i r t u a l 1
E n d e r e ç o v i r t u a l 2
E n d e r e ç o v i r t u a l 3
E n d e r e ç o v i r t u a l 4
E n d e r e ç o v i r t u a l 5
.
.
.
E n d e r e ç o v i r t u a l V
E n d e r e ç o r e a l 0
E n d e r e ç o r e a l 1
E n d e r e ç o r e a l 2
E n d e r e ç o r e a l 3
.
.
.
E n d e r e ç o r e a l R
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/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 e m ó r i a V i r t u a l
.
.
.
.
M e m ó r i a P r i n c i p a l
M e m ó r i a S e c u n d á r i a
.
.
.
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/5
Mapeamento
• Mapeamento
M e m ó r i a V i r t u a l
M e m ó r i a P r i n c i p a l
M a p e a m e n t o
.
.
.
.
.
.
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/6
Mapeamento
• Tabela de mapeamento
P r o c e s s o A
E s p a ç o d ee n d e r e ç a m e n t o
v i r t u a l d e A
E n d e r e ç o v i r t u a l 1
.
.
.
T a b e l a d em a p e a m e n t o
d e A
E s p a ç o d ee n d e r e ç a m e n t o
v i r t u a l d e B
E n d e r e ç o v i r t u a l 1
.
.
.
T a b e l a d em a p e a m e n t o
d e B
P r o c e s s o B
M e m ó r i a P r i n c i p a l
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/7
Memória Virtual por Paginação
• Tabela de páginas
M e m ó r i a V i r t u a l
.
.
.
.
P á g i n a v i r t u a l 0
P á g i n a v i r t u a l 1
P á g i n a v i r t u a l 2
P á g i n a v i r t u a l V
T a b e l a d ep á g i n a s
E T P
M e m ó r i a P r i n c i p a l
M e m ó r i a S e c u n d á r i a
.
.
.
P á g i n a r e a l 0
P á g i n a r e a l 1
P á g i n a r e a l R
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/8
Memória Virtual por Paginação
• Tradução do endereço virtual P á g i n a v i r t u a l
D e s l o c a m e n t o
E n d e r e ç o v i r t u a l
D e s l o c .N P V
E n d . d o f r a m e
E T P
T a b e l a d e p á g i n a s
E n d . d o f r a m e D e s l o c .
F r a m e
D e s l o c a m e n t o
E n d e r e ç o f í s i c o
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/9
Memória Virtual por Paginação
• Mecanismo de tradução
E n d e r e ç o v i r t u a l
T a b e l a d e p á g i n a s
B i t d e v a l i d a d e
0
M e m ó r i a P r i n c i p a l
M e m ó r i a s e c u n d á r i a
T a b e l a d e p á g i n a s
B i t d e v a l i d a d e
1
M e m ó r i a P r i n c i p a l
M e m ó r i a s e c u n d á r i a
P a g e i n
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/10
Políticas de Substituição de Páginas
• Substituição de páginas
M e m ó r i a P r i n c i p a l
A r q u i v o d ep a g i n a ç ã o
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/11
Working Set
• Conceito de localidade
P á g i n a 0
P á g i n a 1
P á g i n a 2
P á g i n a 3
P á g i n a 4
I n i c i a l i z a ç ã o
W H I L E ( ) D O B E G I N
E N D ;
I m p r i m e r e s u l t a d o s
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/12
Working Set
• Modelo de working set
t e m p o
P 2 P 3 P 2 P 8
t 1 t 2
J a n e l a d o w o r k i n g s e t ( t )
W ( t , t )2
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/13
Working Set
• Tamanho do working set
t e m p o
P 2 P 3 P 4 P 5 P 2 P 5 P 5 P 5 P 5 P 6
t 1 t 2 t 3
t a t b
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/14
Working Set
• Taxa de page fault x limite de páginas reais
L i m i t e d e p á g i n a s r e a i s
Taxa
de
pa
ge
fa
ult
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/15
Algoritmos de Substituição de Páginas
• FIFO
P á g i n am a i s a n t i g a
P á g i n am a i s r e c e n t e
s a í d a e n t r a d a
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/16
Algoritmos de Substituição de Páginas
• FIFO com Buffer de Páginas
i n í c i o fi m
i n í c i ofi m
( a ) ( c )( b )
L i s t a d e p á g i n a s l i v r e s
L i s t a d e p á g i n a s a l o c a d a s
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/17
Algoritmos de Substituição de Páginas
• FIFO Circular (Clock)
P 1
P 2
P 3
P 4P 5
P n
B R = 1
B R = 1
B R = 0
p á g i n am a i s
a n t i g a
( a )
P 1
P 2
P 3
P 4P 5
P n
B R = 0
B R = 0
B R = 0
p á g i n as e l e c i o n a d a
( b )
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/18
Tamanho de Página
• Fragmentação interna
P á g i n a 0
P á g i n a 1
P á g i n a 2
P á g i n a 3
P á g i n a 4
P R O G R A M F r a g ;V A R
P R O C E D U R E A ;
E N D ;
B E G I N
E N D .
F r a g m e n t a ç ã o
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/19
Paginação em Múltiplos Níveis
• Paginação em um nível
0
1
2
( 2 - 1 )2 0
T a b e l a d e p á g i n a s
D e s l o c .N P V
1 2 b i t s2 0 b i t s
E n d e r e ç o V i r t u a l
3 2 b i t s
4 M b
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/20
Paginação em Múltiplos Níveis
• Endereço virtual em dois níveis
T a b e l a d i r e t ó r i o
D e s l o c .1 2 b i t s
N P V 11 0 b i t s
E n d e r e ç o V i r t u a l
N P V 21 0 b i t s
T a b e l a d e p á g i n a s
f r a m e
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/21
Paginação em Múltiplos Níveis
• Paginação em dois níveis
M e m ó r i a P r i n c i p a l
1 0 2 3
T a b e l a d i r e t ó r i o
0
1
2
3
0
1
2
1 0 2 3
T a b e l a d e p á g i n a s 1
3
0
1
2
1 0 2 3
T a b e l a d e p á g i n a s 0
3
0
1
2
1 0 2 3
T a b e l a d e p á g i n a s 1 0 2 3
3
f r a m e 1 0 0
f r a m e 2 0 0 0
f r a m e 4 0 0 0
f r a m e 3 0 0 1 0 0
4 0 0 0
2 0 0 0
3 0 0
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/22
Translation Lookaside Buffer
• Translation lookaside buffer (TLB)
M e m ó r i a p r i n c i p a l
D e s l o c .N P V
E n d e r e ç o V i r t u a l
T r a n s l a t i o n L o o k a s i d e B u ff e r ( T L B )
B V T a g E n d . F í s i c o
0
1
0
1
0
1
T a b e l a d e m a p e a m e n t o
B V E n d . F í s i c o
1
1
1
0
1
0
1
M e m ó r i a s e c u n d á r i a
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/23
Proteção de Memória
• Proteção para páginas
L GE n d e r e ç o d a
p á g i n a / s e g m e n t o
B i t s d e p r o t e ç ã o
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/24
Proteção de Memória
• Mecanismo de proteção
D e s c r i ç ã o
S e m a c e s s oA c e s s o d e l e i t u r a
A c e s s o p a r a l e i t u r a / g r a v a ç ã o
L G
0 01 01 1
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/25
Compartilhamento de Memória
• Compartilhamento de memória
P r o c e s s o A
E s p a ç o d ee n d e r e ç a m e n t o
v i r t u a l d e A
E n d e r e ç o v i r t u a l 1
.
.
.
T a b e l a d em a p e a m e n t o
d e A
E s p a ç o d ee n d e r e ç a m e n t o
v i r t u a l d e B
E n d e r e ç o v i r t u a l 1
.
.
.
T a b e l a d em a p e a m e n t o
d e B
P r o c e s s o B
M e m ó r i a P r i n c i p a l
P á g i n a
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/26
Memória Virtual por Segmentação
• Segmentação
P R O G R A M S e g m e n t o ;
V A R A : A R R A Y . . . C : . . .
P R O C E D U R E X ;
E N D ;
F U N C T I O N Y ;
E N D ;
B E G I N
E N D .
P r o c e d i m e n t o X
P r o g r a m a P r i n c i p a l
F u n ç ã o Y
A r r a y A
V a r i á v e l C
.
.
.
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/27
Memória Virtual por Segmentação
• Tradução do endereço virtual D e s l o c a m e n t o
E n d e r e ç o v i r t u a l
D e s l o c .
E n d . d o s e g m e n t o
E T S
T a b e l a d e s e g m e n t o s
D e s l o c .
S e g m e n t o n am e m ó r i a p r i n c i p a l
D e s l o c a m e n t o
E n d e r e ç o f í s i c o
S e g m e n t o v i r t u a l
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/28
Memória Virtual por Segmentação com Paginação
• Segmentação com paginação
E n d e r e ç o d o f r a m e D e s l o c a m e n t o
D e s l o c a m e n t oN u m .
s e g m e n t oN u m .
p á g i n a
E n d e r e ç o v i r t u a l
S e g m e n t o v i r t u a l
E n d . d a t a b e l a d e p á g i n a s
E T S
T a b e l a d e s e g m e n t o s
E n d e r e ç o d o f r a m e
E T P
T a b e l a d e p á g i n a s
E n d e r e ç o f í s i c o
Arq
uitet
ura
de
Sis
tem
as O
per
acio
nais
– M
achad
o/M
aia
10/29
Swapping em Memória Virtual
• Swapping em memória virtual M e m ó r i a P r i n c i p a l
P r o c e s s o A
P r o c e s s o B
P r o c e s s o E
P r o c e s s o D
P r o c e s s o CP r o c e s s o F
M e m ó r i a P r i n c i p a l
P r o c e s s o A
P r o c e s s o F
P r o c e s s o B
P r o c e s s o D
P r o c e s s o CA r q u i v o d e
s w a p p i n g
P r o c e s s o B