26
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

Embed Size (px)

Citation preview

Page 1: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Gerenciamento de Memória

Page 2: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Hierarquia de Memória

cache (L1)

CPURegistradores

memória principal

memória secundária

Custo etamanho

chip

cache (L2)

VelocidadeReg.

Cache

Principal

Cache de Disco

Disco Magnético

Fita CD-ROM

Page 3: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Localidade

Temporal • Num futuro próximo, o programa irá

referenciar os programas e dados referenciados recentemente

Espacial• Num futuro próximo, o programa irá

referenciar os programas e objetos de dados que tenham endereços próximos das últimas referências.

Page 4: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Memória Virtual Disco

• Muito mais barato que memória 1961: Overlay automático Swap File

• Universidade de Manchester• Sistema operacional• Memória virtual

memóriaprincipaldisco

Page 5: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Memória Virtual

CPU End.

Dados

n

Memória disponível

Espaço de endereçamento

2n

Page 6: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Particionamento da Memória Pedaços grandes com tamanho fixo Pedaços com tamanho variável

P1P2

P3

P4

P1

P2

P3

S.O.

P4

P5

FragmentaçãoFragmentaçãoInternaInterna ExternaExterna

Page 7: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Paginação Pedaços pequenos de tamanho iguais fixos

Ocupada

Ocupada

Ocupada

13

14

15

16

17

18

19

20

21

13, 15, 16

Tabela ConversãoPág. p/ Proc. A

DiscoDisco

Proc. AProc. Apág.0pág.1pág.2pág.3

13151615

Pág.V.0

Pág.V.1Pág.V.2Pág.V.3

Pág. Livres

15, 16 16 15

MemóriaMemóriaPrincipalPrincipal

OcupadaOcupada

Ocupada

Page 8: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Paginação

tabela de páginas

memória principalentradas

desloc.

endereço da página deslocamentoEndereço Virtual (Lógico)

Endereço Real (Físico)

nr. página real

Page 9: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Paginação:Armazenando as tabelas

Uma tabela de páginas por processo Problema: Armazenar as tabelas em memória real Exemplo: VAX

• 2 Gbyte / processo• 512 Byte / página

=> Muito espaço para tabelas=> Muito espaço para tabelas

=> 4 MegaEntradas por tabela por processo

Page 10: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Paginação:Armazenando as tabelas

Solução 1:Solução 1: Guardar parte das tabelas em memória virtual• A tabela da página corrente tem que estar na

memória real Solução 2:Solução 2: Usar uma estrutura hierárquica

de paginação

Page 11: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Paginação:Diretório de Tabelas de Páginas

tab.0tab.1

memória

p.realp.real

p.real

p.realp.real

p.real

página desloc.

Endereço Virtual (Lógico)

diretório

tab.1tab.1

tab.0tab.0

Dir.Dir.

Usado no Pentium

Page 12: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Endereço Físico e Virtual

num. pag. física desloc.

desloci1 i2 i3

Endereço físico

Endereço virtual

Page 13: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Tabela de Página Invertida

Dp

Vp Rp linkVp Rp link

Vp Dp

hash function

Usado no IBM AS/400 e PowerPC

Rp

Page 14: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Acelerando a tradução...

Problema:Problema: Um acesso à mem.virtual => 2 acessos à mem. real (1 p/ tabela + 1 p/ dado desejado)

Solução:Solução: Translation Lookaside Buffer• Funciona como uma cache para tabelas de página• Requer um acesso à mem. física e um à cache do TLB• Aumento de performance (Princípio da Localidade)

VpA DpA

DpA

VpE

VpA

VpT

VpB

RpE

RpARpB

RpT

RpA

Page 15: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

hitcache

Gerenciamento de Memória

Rp Dp

memóriaprincipal

cacheValorValortab.pág.

Vp Dp

TLBhitTLB

missTLB

&hittab.pag.

DiscoDisco

missmissTLBTLB

&&missmisstab.pag.tab.pag.

misscache

&hitmem.

missmisscachecache

&&missmissmem..mem..

Rp

Page 16: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Unidade de Gerenciamento de Memória

UGM

CPU memória

dados

Virtual Real

Testes de proteçãoTestes de memória

Page 17: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Paginação:O que fazer quando há falta de página?

Falta de Página Falta da Tabela de Página

1) Chamada do Sistema Operacional => chaveamento de contexto (executa outro processo enquanto carrega a página na memória)

2) Escolha da página a ser retirada da memória (se não houver espaço livre)

Page 18: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Políticas de substituição Randômica• baixo desempenho

FIFO• ignora localidade temporal

LRU (least recently used)• considera quando a página foi referenciada

Page 19: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Segmentação Controlado pelo usuário e S.O.• Facilita compartilhamento e proteção de dados• Permite alterar sistemas com recompilação parcial, sem

relinkar Organização de programas e dados Permite controle de acesso mais fino a dados e

instruções do que paginação Tamanho variável e dinâmico Tradução de endereço virtual p/ físico semelhante à da

paginação

Page 20: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Segmentação:Exemplo do PentiumCada segmento tem informações de:Cada segmento tem informações de:

1) Nível de privilégio de acesso (de 0 a 3)• UGM => 0, Sistema Operacional => 1• A execução de algumas instruções está limitada a alguns

níveis de privilégio:–Uso de registradores de Ger. Memória => Nível 0

– Instruções de I/O => Nível 1 (usado no Windows NT)

2) Atributo de Acesso• Segmento de Dados => read/write ou read-only• Segmento de Instruções => read/execute ou read-only

Page 21: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Segmentação

tabela de segmentosmemória principal

entradas

num. segmento Desloc.

bp tam. end.segm

+end. físico

Page 22: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Substituição de Segmentos Onde o segmento deve ser alocado?• best-fit• worst fit• first fit

Page 23: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Página X Segmento Tamanho Fixo Tamanho Variável

• Transparente ao usuário• Gerenciamento eficiente (pequena fragmentação interna)

• Controlado pelo usuário• Facilidade de proteção• Fragmentação Externa

Page 24: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Segmentação Paginada

tabela de segmento

tabela de páginamemória principal

entradas

Vp desl.segmento

dado

+End. Seg.

+

•Segm. => modularização do programa•Pagin. => melhor alocação da memória

Page 25: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Segmentação Paginada

Falta do Segmento Falta da Tabela de

Segmento Falta de Página Falta da Tabela de Página Falta de Proteção Falta de Limite

Falta do Segmento Falta da Tabela de

Segmento Falta de Página Falta da Tabela de Página Falta de Proteção Falta de Limite

chamada dosistema

operacional

chaveamentode contexto

Page 26: DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória

DEPARTAMENTODE INFORMÁTICA

UFPE

GRECO

Segmentação e Paginação

Segmentação

Paginação

• Alta performance• Simplicidade

• Endereços lógicos• Proteção de dados e código• Tab. de tradução sempre na mem. principal

• Proteção menos acessível ao usuário• Memória virtual

• Segm. => modularização• Pag. => alocação da memória