administração de memória - instituto de informática - ufgeduardo/so/slides/cap-04-adm...
TRANSCRIPT
![Page 1: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/1.jpg)
1
1
Administração de Memória
4.1 Administração básica de memória4.2 Swapping4.3 Memória Virtual4.4 Algoritmos de substituição de páginas4.5 Modelando algoritmos de substituição de páginas4.6 Tópicos de projeto para sistemas de paginação4.7 Tópicos de implementação4.8 Segmentação
2
Administração de Memória
Idealmente, programadores querem memória queseja
GrandeRápidaNão volátil
HierarquiaCacheMemória principlaDiscoFita
O administrador de memória cuida da hierarquia!
![Page 2: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/2.jpg)
2
3
Administração Básica de MemóriaMonoprogramação sem Swapping ou Paginação
- SO com um processo de usuário
4
Multiprogramação com Partições Fixas
![Page 3: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/3.jpg)
3
5
Modelando Multiprogamação
Utilização da CPU = 1 – pn
Utilização da CPU em função do número de processos namemória
Degree of multiprogramming
6
Análise da porformance de sistemasMultiprogramados
![Page 4: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/4.jpg)
4
7
Relocação e Proteção
Não se pode saber com certeza onde o programaserá carregado na memória
Endereços de locação de variáveis e rotinas de código nãopodem ser absolutosDeve manter um programa fora das partições de outrosprogramas
Usar valores de “base” e “limite”Posições de endereços adicionadas ao valor base paramapear para o endereço físicoPosições maiores que o valor limite são erradas
8
Swapping (1)
Alocação de memória muda quando processos:Entram na memóriaSaem da memória
Regiões sombreadas são memória não usadas
![Page 5: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/5.jpg)
5
9
Swapping (2)
Alocando espaço para um segmento de dados crescenteAlocando espaço para segmentos de pilha e dados crescentes
10
Administração de Memória com Bit Maps
Parte de memória com 5 processos, 3 buracos
Tmarcas indicam unidades de alocaçãoRegiões sombreadas estão livres
bit mapMesma informação em uma lista
![Page 6: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/6.jpg)
6
11
Administração de Memória com Listas ligadas
Quatro situações para o fim do processo X
12
Memoria Virtual Paginação (1)
Posição e Função da MMU
![Page 7: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/7.jpg)
7
13
Paginação (2)
Relação entreendereços virtuaise endereços físicosdados pela tabelade páginas
14
Tabelas de Páginas (1)
Operação interna da MMU com 16 - 4 KB paginas
![Page 8: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/8.jpg)
8
15
Tabelas de Páginas (2)
Endereço de 32 bits co 2 campos de tabelas de páginasTabela de páginas em 2 níveis
Second-level page tables
Top-level page table
16
Tabelas de Páginas(3)
Estranda Típica de tabela de páginas
![Page 9: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/9.jpg)
9
17
TLBs – Translation Lookaside Buffers(Memória associativa)
Uma TLB para acelerar a paginação
18
Tabelas de Páginas Invertidas
Comparaçao entra uma tabela de páginas tradicional com uma tabela de páginas invertida
![Page 10: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/10.jpg)
10
19
Algoritmos de Substituição de Páginas
Page fault força escolhaQual página deve ser removida para cederespaço para a página que chega
Páginas modificadas devem ser salvasNão modificadas apenas sobrescritas
Melhor não usar uma página usadafrequentemente
20
Algoritmo Ótimo
Trocar a página que será necessária no futuro mais distante
Ótima mas impossível…
Estimativa por …logging das páginas usadas em rexecuçõesanteriores do processo… não é prático…
![Page 11: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/11.jpg)
11
21
Algorítmo Not Recently Used
Cada página tem um bit de referência(R) e um de modificado (M)
Os bis são setados quando a página émodificada ou referenciada
Classificação Das páginas1. não referenciada, não modified2. não referenciada, modificada3. referenciada, não modificada4. referenciada, modificadaNRU remove páginas aleatoriamente
A partir das classes mais baixasnumerações
22
FIFO
Mantém uma lista ligada de todas as páginasNa ordem em que foram carregadas
A página no início da lista é substituida
DesvantagemUma página carregada a muito tempo pode ser usadafrequentemente
![Page 12: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/12.jpg)
12
23
Segunda Chance
Operação da segunda chanceAs páginas são classificas por FIFOLista de págins se falta ocorre no tempo 20, A tem Rbit ligado (números acima das páginas são tempos de carga)
24
Relógio
![Page 13: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/13.jpg)
13
25
Least Recently Used (LRU)Assume que páginas usadas recentemente serãouadas novamente em breve
Discarta a página não usda por mais tempo
Deve manter uma lista ligada de todas as páginasUsadas maia recentemente na frente, menos usdas no fundoAtualiza esta lista a cada referência à memória !!
Alternativamente, mantem um contador em cadaentrada de página
Escolhe a página com o menor contgadorPeriodicamente zera o contador
26
Simulando LRU em Software (1)
LRU usando uma matriz – referências àspáginas na ordem 0,1,2,3,2,1,0,3,2,3
![Page 14: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/14.jpg)
14
27
Simulando LRU em Software (2)
O algoritmo do envelhecimento simulaLRU em softwareNote 6 páginas para 5 ticks do relógio, (a) – (e)
28
Algoritmo do conjunto de trabalho (Working Set) (1)
O Conjunto de Trabalho é o conjunto de páginasusadas pelas k mais recentes referências à memóriaw(k,t) é o tamanho do conjunto de trabalho no instante, t
![Page 15: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/15.jpg)
15
29
Algoritmo do conjunto de trabalho (Working Set)(2)
30
Relógio do Conjunto de Trabalho (WSClock)
![Page 16: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/16.jpg)
16
31
Revisão dos Algoritmos de Substituição de Páginas
32
Modelando Algoritmos de susbtituição de Páginas – Anomalia de Belady
FIFO com 3 molduras de páginasP's mostram qual referência de página provocauma falta de página
![Page 17: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/17.jpg)
17
33
Modelando Algoritmos de susbtituição de Páginas – Anomalia de Belady
FIFO com 4 molduras de páginasP's mostram qual referência de página provocauma falta de página
34
Modelando Algoritmos de susbtituição de Páginas –Anomalia de Belady
FIFO com 3 molduras de páginasFIFO com 4 molduras de páginasP's mostram qual referência de página provoca uma faltade página
![Page 18: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/18.jpg)
18
35
Algoritmos de Pilha
Estado da Memória (M), após cada item da string de referência ser processado
7 4 6 5
36
A String de Distância
Funções de Densidade de Probabilidade para duas Strings de
Distância Hipotéticas
![Page 19: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/19.jpg)
19
37
A String de Distância
Computação da taxa de falte de páginas pelastring de distância
vetor C vetor F
38
Tópicos de Projeto para Sistemas de PaginaçãoPolíticas de Alocação Global vs Alocação Local (1)
Configuração Original Substituição de páginaLocalSubstituição de páginaGlobal
![Page 20: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/20.jpg)
20
39
Políticas de Alocação Global vs Alocação Local (2)
Taxa de Faltas de Páginas como umafunção do número de molduras
atribuidas
40
Fim
Apresentar a definição do trabalho de OSP do módulo memória
![Page 21: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/21.jpg)
21
41
Próxima aula
42
Tabelas de Páginas Invertidas
Comparaçao entra uma tabela de páginas tradicional com uma tabela de páginas invertida --- Usasdas em arquiteturas de 64 bits
![Page 22: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/22.jpg)
22
43
Controle de Carga
Apesar de bons projetos, os sistemas aindapodem entrar em thrashing
Quando a Frequência de Faltas de Páginaindica:
Alguns processos precisam de maismemóriaNenhum processo precisa de menosmemória
Solução?
44
Tamanho de Página (1)
PequenoVantagens
Desvantagem
![Page 23: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/23.jpg)
23
45
Tamanho de Página(2)
Overhead devido à fragmentaçãointerna e tabela de página
Ondes = tamanho médio do processo em bytesp = tamanho da página em bytese = entrada de página
2s e poverheadp⋅
= +
page table space
internal fragmentation
Optimized when
2p se=
46
Separar espaços de instruções e Dados
Um espaço de endereçamentoEspaços separados para I e D
![Page 24: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/24.jpg)
24
47
Páginas Compartilhadas
48
Política de LimpezaRequerida para um processo em background process, daemon de paginação
Periodicamente inspeciona a memóriaQuando poucas molduras estão livres
Seleciona uma página para ser descartadaPode usar mesmo algoritmo(clock)
Como o algoritmos regular de troca de páginas mas com parâmetros diferentes
![Page 25: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/25.jpg)
25
49
Tópicos de ImplementaçãoEnvolvimento do So com Paginação1. Criação do processo
− Determina tamanho do programa− Cria a tabela de páginas
2. Execução do processoMMU iniciada para o novo processo− TLB flushed
3. Momento da falta de página− Determina endereço virtual causando a falta− swap página alvo fora e requerida para dentro
4. Termino do processo− Libera tabela de páginas e páginas
50
Administração de Falta de páginas (1)
1. Hardware traps para kernel2. Registradores gerasi salvos3. SO determina qual página virtual é requerida4. SO checa validade do endereço, busca a moldura
de página5. Se moldura selecionada estiver suja, escreve-a
em disco
![Page 26: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/26.jpg)
26
51
Administração de Falta de páginas (2)
6. SO traz página nova do disco7. As tabelas de páginas são atualizadas
Instrução que provocou a falta volta para seuinício
8. Processo de falta restaurado9. Registradores restaurados
Programa continua
52
Backup de Instrução
Uma instrução provocando uma faltade página
![Page 27: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/27.jpg)
27
53
Travando páginas em memóriaMemória virtual e ES interagemocasionalmenteProcesso faz uma chamada para umaleitura de um dispositivo em um buffer
Enquanto espera por ES, outro processo iniciaOcorre uma falta de páginaO buffer do primeiro processo pode ser escolhidopara page-out
É necessário especificar algumas páginas“travadas”(locked)
54
Backing Store
(a) Paginação para área de swap estática(b) Backing up páginas dinamicamente
![Page 28: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/28.jpg)
28
55
Separação de Política e Mecanismo
Administração de falta de página com um paginadorexterno
56
Segmentação (1)
Espaço de endereçamnto uni-dimensional com tabelascrescentesUma tabela pode invadir a outra
![Page 29: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/29.jpg)
29
57
Segmentação (2)
Permite cada tabela crescer/encolherindependentemente
58
Segmentação (3)
Comparação entre paginação e segmentação
![Page 30: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/30.jpg)
30
59
Implementação de segmentação pura
(a)-(d) desenvolvimento de “xadrez”(e) Remoção por compactação
60
Segmentação com paginação: MULTICS (1)
Segmento descritor aponta para tabelas de páginasSegmento descritor – números são comprimentos dos campos
![Page 31: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/31.jpg)
31
61
Segmentação com paginação : MULTICS (2)
Um endereço virtual MULTICS de 34-bit
62
Segmentação com paginação : MULTICS (3)
Conversão de um endereço de duas partes em um endereçode memória
![Page 32: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/32.jpg)
32
63
Segmentação com paginação: MULTICS (4)
Versão simplificada da MULTICS TLBExistencia de 2 tamanhos de páginas faz a TLB maiscomplicada
64
Segmentação com paginação: Pentium (1)
Um seletor Pentium
![Page 33: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/33.jpg)
33
65
Segmentação com paginação: Pentium (2)
Descritor de segmento de códigodo PentiumSegmentos de dados diferentes(ligeiramente)
66
Segmentação com paginação: Pentium (3)
Conversão de (selector, offset) para endereçolinear
![Page 34: Administração de Memória - Instituto de Informática - UFGeduardo/so/slides/cap-04-adm Memoria.pdf · 2012-05-15 · 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos](https://reader031.vdocuments.site/reader031/viewer/2022022109/5c4df9eb93f3c3245e29b7a5/html5/thumbnails/34.jpg)
34
67
Segmentação com paginação: Pentium (4)
Mapeamento do endereço linear em endereçofísico
68
Segmentação com paginação: Pentium (5)
Proteção no Pentium
Level