ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas...

39
Machado/Maia – complem. por Sidney Lucena (UN 10/1 Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Operacionais Francis Berenger Machado Francis Berenger Machado Luiz Paulo Maia Luiz Paulo Maia Complementado por Sidney Lucena (Prof. Complementado por Sidney Lucena (Prof. UNIRIO) UNIRIO) Capítulo 10 Capítulo 10 Gerência de Memória Virtual Gerência de Memória Virtual

Transcript of ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas...

Page 1: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/1

Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais

Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia

Complementado por Sidney Lucena (Prof. UNIRIO)Complementado por Sidney Lucena (Prof. UNIRIO)

Capítulo 10Capítulo 10Gerência de Memória VirtualGerência de Memória Virtual

Page 2: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/2

Memória Virtual • A técnica de memória virtual fundamenta-se em desvincular

o espaço de endereçamento físico (RAM) do espaço de endereçamento usado pelo programa.

• Para tal é criado um espaço de endereçamento virtual, linear e contínuo (semelhante a um vetor), para atender os requisitos de memória de um dado programa abstraindo-se questões de implementação física.

• Os objetivos principais desta técnica são o de maximizar o número de processos em memória, reduzir a fragmentação e permitir estruturas de dados maiores que a memória física.

Page 3: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/3

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

Page 4: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/4AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)Espaço de Endereçamento

Virtual • O espaço de endereços virtuais, arranjados na forma de vetor,

corresponde à memória virtual e pode ser maior que o espaço de memória 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

Page 5: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/5AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)Espaço de Endereçamento

Virtual • A porção de memória virtual ativa do programa fica situada na

memória principal, o restante fica armazenado em disco.

M em ória V irtua l

.

.

.

.

M em ória Pr in cipa l

M em ór ia Secu nd á r ia

.

.

.

Page 6: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/6

Mapeamento • A unidade de gerenciamento de memória (Memory

Management Unit – MMU) mapeia os endereços virtuais em endereços físicos.

M em ória V irtua l

M em ór ia Pr in cip a l

M ap eam en to

.

.

.

.

.

.

• OBS: um programa não precisa estar em endereços contíguos da memória principal para ser executado.

Page 7: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/7

Mapeamento • O mecanismo de

tradução se encarrega de manter tabelas de mapeamento exclusivas para cada processo.

• Quando ocorre troca de processo, registrador contendo posição inicial da tabela de mapeamento é atualizado.

Pro cesso A

Esp a ço d een dereça m en to

virtua l d e A

En dereço vir tu a l 1

.

.

.

Ta b 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

.

.

.

Ta b ela dem a pea m en to

d e B

Pro cesso B

M em ó r ia Pr in cip a l

Page 8: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/8

Mapeamento • Problema: se cada entrada na tabela de mapeamento

representar uma célula da memória virtual, o espaço ocupado pela tabela seria da ordem de tamanho da memória virtual, inviabilizando sua implementação.

• Solução: particiona-se a memória virtual em blocos.

– Cada bloco da memória virtual estará representado por uma entrada na tabela de mapeamento.

– Tamanho do bloco determina o número de entradas na tabela de mapeamento.

– 3 técnicas são usadas para o particionamento em blocos: paginação, segmentação e segmentação com paginação.

– Abordagens também se apoiam no princípio da localidade.

Page 9: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/9

Memória Virtual por Paginação

• A técnica mais comum utilizada para implementar memória virtual é a paginação.

• Nesta técnica, tanto memória virtual como memória principal são divididas em blocos de igual tamanho chamados páginas.

– Tamanho do bloco determina o nível de fragmentação.

• Quando uma página referenciada não é encontrada na RAM, diz-se que houve um page fault.

• Na ocorrência de um page fault, realiza-se uma operação de paginação, ou seja, de troca de páginas entre a memória principal e a memória virtual em disco.

Page 10: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/10

Memória Virtual por Paginação

• Cada processo possui sua própria tabela de páginas.– Uma página virtual contém um bloco de endereços virtuais.

M em ória V ir tua l

.

.

.

.

Págin a virtua l 0

Págin a virtua l 1

Págin a virtua l 2

Págin a virtua l V

Tab ela dep ágin as

ETP

M em ória Pr in cipa l

M em ória Secu nd ár ia

.

.

.

Págin a rea l 0

Págin a rea l 1

Págin a rea l R

• ETP: Entrada da Tabela de Páginas, associada a cada página virtual de um processo.

• Os blocos da memória principal que abrigam as páginas reais são chamados frames.

Page 11: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/11

Memória Virtual por Paginação

• O endereço virtual é composto pelo número da página virtual (NPV) mais seu deslocamento na página.

• O NPV serve para indexar a tabela de páginas e obter o endereço do frame.

• O endereço físico correspondente ao endereço virtual é obtido a partir do endereço físico do frame encontrado na tabela de páginas mais o deslocamento.

Pá g in 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

Page 12: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/12

Memória Virtual por Paginação

• O bit de validade numa ETP indica se a página em questão encontra-se na memória principal ou não.

• Se a ETP da página que contém o endereço virtual desejado tem bit de validade 0, ou seja, não está na memória principal, ocorre um page fault.

En dereço virtu a l

Tab ela de pá gina s

Bit d e va l id ad e

0

M em ória Pr in cipa l

M em ória secun d ária

Tab ela de pá gina s

Bit d e va l id ad e

1

M em ória Pr in cipa l

M em ória secun d ária

Pa ge in

Page 13: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/13

Políticas de Substituição de Páginas

• Quando ocorre um page fault, a página referenciada é carregada para a memória principal (page in) no local de uma página que já se encontrava na RAM (page out, supondo memória RAM cheia). Esta página a ser substituída é escolhida segundo algum algoritmo de substituição.

M em ória Pr in cip a l

A rq u ivo dep agin açã o

Pag e o ut

Pag e in

Page 14: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/14

Políticas de Substituição de Páginas

• Políticas de Substituição de Página:– Política de Substituição Local: apenas páginas referentes ao

processo corrente podem ser substituídas.

– Política de Substituição Global: páginas de qualquer processo podem ser substituídas.

• Políticas de Busca de Páginas:– Paginação por Demanda: páginas são transferidas para a

memória principal apenas quando referenciadas.

– Paginação Antecipada: além da página referenciada, o sistema carrega um conjunto de outras páginas para a memória esperando que elas venham a ser referenciadas mais tarde.

Page 15: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/15

Políticas de Substituição de Páginas

• Políticas de Alocação de Página: determina quantos frames cada processo pode manter na memória principal.

– Política de Alocação Fixa: cada processo tem um número máximo de frames que podem ser usados durante sua execução.

• Definido no momento da criação do processo de acordo com o tipo de aplicação que será executada.

– Política de Alocação Variável: número máximo de frames pode variar durante sua execução de acordo com a taxa de paginação e a ocupação da memória principal.

• Mais flexível, mas exige overhead para o monitoramento dos processos.

Page 16: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/16

Working Set

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

• Número elevado de page faults causa problema de desempenho ao sistema.

• Conceito de working set visa reduzir este problema e está associado ao princípio da localidade (temporal e espacial).

Page 17: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/17

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

• Conjunto de páginas referenciadas por um mesmo processo durante determinado intervalo de tempo.

• Working Set de um processo é função do tempo e do tamanho da janela do working set.

Page 18: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/18

Working Set

tem po

P2 P3 P4 P5 P2 P5 P5 P5 P5 P6

t1 t2 t3

ta tb

• Tamanho do working set corresponde ao número de páginas distintas referenciadas dentro da janela do working set.

Page 19: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/19

Working Set

Lim ite d e p ág in as rea is

Taxa

de

pa

ge

fa

ult

• Working Set permite prever quais páginas serão necessárias a execução do programa.

• Reflete a localidade do programa, reduz a taxa de paginação.• Aumento do limite de páginas reais de um programa reduz

paginação pelo custo de ocupar mais memória, porém até certo limite.

Page 20: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/20

Algoritmos de Substituição de Páginas

• Procuram manter o working set dos processos na memória principal sem comprometer o desempenho do sistema.

• O algoritmo ótimo seria (utopicamente) aquele que selecionasse uma página que não será mais referenciada ou que será a menos referenciada.

• Exemplos de algoritmos:– Aleatório;– FIFO (escolhe a página mais antiga);– LFU (Least Frequetly Used), LRU (Least Recently Used) e NRU

(Not Recently Used, similar ao LRU, usa bit de referência - BR);– FIFO c/ buffer de páginas (combina lista de frames alocados e

lista de frames livres na MP);– FIFO circular (se a página mais antiga foi referenciada

recentemente, ela vai para o final da fila).

Page 21: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/21

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

Page 22: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/22

Algoritmos de Substituição de Páginas

• FIFO com Buffer de Páginas:– LPA e LPL ordenadas por antiguidade dos frames;

– (a) Na alocação de nova página, usa primeiro frame da LPL;

– (b) Na liberação de uma página para substituição, usa primeira da LPA, correspondente ao frame a mais tempo na memória, e o coloca no final da LPL;

– (c) Caso seja novamente referenciada, retira-a da LPL e vai p/fim da LPA.

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

Page 23: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/23

Algoritmos de Substituição de Páginas

• FIFO Circular (Clock):– Ponteiro guarda posição da página mais antiga na lista;

– BR indica se página foi recentemente referenciada;

– Na substituição, sistema verifica se frame tem BR = 0 (não referenciada) e a seleciona;

– Se BR = 1, faz BR = 0 e incrementa ponteiro.

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 )

Page 24: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/24

Tamanho de Página

• Depende da arquitetura do hardware, normalmente situa-se entre 512 e 16M endereços.

• Fator importante no projeto de sistemas c/ paginação, tem impacto no tamanho das tabelas na MP.– Páginas pequenas, maiores tabelas de

mapeamento, maior taxa de paginação, maiores operações de E/S;

– Páginas grandes, menores tabelas de mapeamento, maior fragmentação interna.

• Tendência dos SOs atuais é por páginas cada vez maiores.

Pág in 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

Page 25: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/25

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

Page 26: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/26

Paginação em Múltiplos Níveis

– Problema: tamanho das tabelas de páginas de um nível continuam grandes para dados realistas (ex: páginas de 4K endereços em arquitetura de 32 bits ocupam cerca de 4MB).

– Solução: usar tabelas de páginas em múltiplos níveis (princípio da localidade é aplicado às tabelas de mapeamento).

• Apenas as informações sobre páginas realmente necessárias aos processos ficam residentes na memória principal.

• Em outras palavras: a tabela de páginas também passa a ser paginada.

Page 27: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/27

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

Page 28: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/28

Paginação em Múltiplos Níveis

• Paginação em dois níveis:

M em ória Pr in cip a l

10 23

Tab ela d ire tó r io

0

1

2

3

0

1

2

10 23

Tab ela de pá gina s 1

3

0

1

2

10 23

Tab ela de pá gina s 0

3

0

1

2

10 23

Tab ela de pá gina 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

Page 29: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/29

Translation Lookaside Buffer

• Translation Lookaside Buffer (TLB):

– Se vale do princípio da localidade e mapea endereços virtuais em endereços físicos para evitar o acesso à tabela de páginas.

– Funciona como uma memória cache, mantendo a tradução dos endereços virtuais das páginas mais referenciadas recentemente.

– Campos da TLB:

Page 30: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/30

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

Page 31: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/31

Proteção de Memória

• Proteção: cada página conta com dois bits de proteção nas ETPs, um permitindo ou não acesso de leitura, outro permitindo ou não acesso de escrita.

• SO deve impedir que um processo acesse uma página do sistema, que não a dele, sem autorização explicitada nos bits de proteção.

L GEn dereço da

p ág in a / seg m en to

Bits d e p ro teçã o

D escrição

Sem a cessoA cesso d e leitu ra

A cesso p a ra leitura / g ravação

LG

001011

Page 32: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/32

Compartilhamento de Memória

• Em sistemas que implementam memória virtual, é muito simples implementar reentrância, bastando que as entradas das tabelas de mapeamento dos processos apontem p/ os mesmos frames.

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

Page 33: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/33

Memória Virtual por Segmentação

• Espaço de endereços é dividido em blocos de diferentes tamanhos chamados segmentos.

• Mantém uma relação lógica com a estrutura do programa e sua alocação na memória principal.

• A definição dos segmentos costuma ser realizada pelo compilador e cada segmento pode representar um procedimento, uma função, um vetor ou uma pilha.

• É atribuído a cada processo um número máximo de segmentos e um tamanho máximo para cada segmento.

• Pode ter problema de fragmentação externa.

Page 34: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/34

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

.

.

.

Page 35: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/35

Memória Virtual por Segmentação

• O mecanismo de mapeamento é semelhante ao da paginação.

• Campos da ETS:

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

Page 36: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/36

Memória Virtual por Segmentação

• Paginação x Segmentação:

Page 37: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/37

Memória Virtual por Segmentação com Paginação

• Segmentação com paginação: realiza paginação para cada segmento.

• Procura oferecer as vantagens de ambas as técnicas.

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

Page 38: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/38

Swapping em Memória Virtual

M em ó r ia Pr in cipa l

Pro cesso A

Pro cesso B

Pro cesso E

Pro cesso D

Pro cesso CPro cesso F

M em ó r ia Pr in cipa l

Pro cesso A

Pro cesso F

Pro cesso B

Pro cesso D

Pro cesso CA rq u ivo desw a pp in g

Pro cesso B

• Exatamente a mesma técnica de swapping, porém aplicada às páginas ou segmentos referentes aos processos swapped out e, posteriormente, swapped in.

Page 39: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

10/39

Thrashing

• Ocorre quando há uma taxa elevada de faults, sejam de segmentos ou de páginas, seja a nível de sistema ou de processo.

• Acarreta uma degradação no desempenho da máquina: uma página ou segmento swapped out em breve será requisitada para fazer swap in, causando um efeito cascata.

• CPU perde muito tempo com swapping de páginas/segmentos.

• Se houver uma demanda de memória, pelos processos a serem executados, maior que a capacidade da memória principal, a única solução é aumentar esta capacidade.