Upload
internet
View
113
Download
7
Embed Size (px)
Citation preview
DEPARTAMENTODE 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
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.
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
DEPARTAMENTODE INFORMÁTICA
UFPE
GRECO
Memória Virtual
CPU End.
Dados
n
Memória disponível
Espaço de endereçamento
2n
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
DEPARTAMENTODE INFORMÁTICA
UFPE
GRECO
Segmentação
tabela de segmentosmemória principal
entradas
num. segmento Desloc.
bp tam. end.segm
+end. físico
DEPARTAMENTODE INFORMÁTICA
UFPE
GRECO
Substituição de Segmentos Onde o segmento deve ser alocado?• best-fit• worst fit• first fit
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
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
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
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