i a Arquitetura de Sistemas OperacionaisOperacionaispopov/aulas/unisul/so/ASO - Cap. 10... ·...

Post on 09-Nov-2018

215 views 0 download

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