Escolar Documentos
Profissional Documentos
Cultura Documentos
4.1 Gerenciamento bsico de memria 4.2 Troca de processos 4.3 Memria virtual 4.4 Algoritmos de substituio de pginas 4.5 Modelagem de algoritmos de substituio de pginas 4.6 Questes de projeto para sistemas de paginao 4.7 Questes de implementao 4.8 Segmentao
1
Gerenciamento de Memria
Idealmente, o que todo programador deseja dispor de uma memria que seja
grande rpida no voltil
Hierarquia de memrias
pequena quantidade de memria rpida, de alto custo cache quantidade considervel de memria principal de velocidade mdia, custo mdio gigabytes de armazenamento em disco de velocidade e custo baixos
Modelagem de Multiprogramao
Chegada de 4 jobs e suas necessidades de trabalho Utilizao da CPU por at 4 jobs com 80% de espera por E/S Sequncia de eventos entre chegada e trmino dos jobs
Note que os nmeros mostram quanto tempo da CPU cada job obtm em cada intervalo
6
Relocao e Proteo
No se sabe com certeza onde o programa ser carregado na memria
Localizaes de endereos de variveis e de cdigo de rotinas no podem ser absolutos
Uma possvel soluo: instrues do programa so modificadas segundo a partio de memria em que ele ser carregado Uma soluo para relocao e proteo: uso de valores base e limite
localizaes de endereos so somadas ao valor base antes de serem mapeadas na memria fsica localizaes de endereos maior que o valor limite indicam erro
7
Alteraes na alocao de memria medida que processos entram e saem da memria Regies sombreadas correspondem a regies de memria no utilizadas naquele instante
8
a) Alocao de espao para uma rea de dados em expanso b) Alocao de espao para uma pilha e uma rea de dados, ambos em expanso
9
a)
b) c)
A relao entre endereos virtuais e endereos fsicos de memria dada pela tabela de pginas
13
Tabelas de Pginas(2)
a) Endereo de 32 bits com 2 campos para endereamento de tabelas de pginas b) Tabelas de pginas com 2 nveis
15
Tabelas de Pginas(3)
Comparao de uma tabela de pginas tradicional com uma tabela de pginas invertidas
18
20
As pginas so classificadas
Classe 0: no referenciada, no modificada Classe 1: no referenciada, modificada Classe 2: referenciada, no modificada Classe 3: referenciada, modificada
Desvantagem
pgina h mais tempo na memria pode ser usada com muita freqncia
22
24
O algoritmo do envelhecimento (aging) simula o MRU em software Note 6 pginas para 5 tiques de relgio, (a) (e)
27
O conjunto de trabalho o conjunto de pginas usadas pelas k referncias mais recentes memria w(k,t) o tamanho do conjunto de trabalho no instante t
28
30
31
FIFO com 3 molduras de pgina FIFO com 4 molduras de pgina P mostra quais referncias de pgina causaram faltas de pgina
32
Questes de Projeto para Sistemas de Paginao Poltica de Alocao Local x Global (1)
Controle de Carga
Mesmo com um bom projeto, o sistema ainda pode sofrer paginao excessiva (thrashing) Quando o algoritmo PFF indica
alguns processos precisam de mais memria mas nenhum processo precisa de menos
Desvantagens
programas precisam de mais pginas, tabelas de pgina maiores
36
de pginas
Fragmentao interna
s = tamanho mdio do processo em bytes p = tamanho da pgina em bytes e = tamanho da entrada da tabela de pgina
O resultado :
p 2 se
37
Pginas Compartilhadas
Dois processos que compartilham o mesmo cdigo de programa e, por conseqncia, a mesma tabela de pginas para instrues
38
Poltica de Limpeza
Precisa de um processo que executa em background, um daemon de paginao
Inspeciona periodicamente o estado da memria
Pode ser implementada atravs de lista circular (relgio) com dois ponteiros
Ponteiro da frente controlado pelo daemon de paginao Ponteiro de trs usado para substituio de pgina (como no do relgio)
39
Criao de processo
determina tamanho do programa cria tabela de pgina
2.
Execuo de processo
MMU reinicia tabela para novo processo TLB esvaziada
3.
4.
Terminao de processo
Libera tabela de pginas, pginas, e espao em disco que as pginas ocupam
40
Recuperao de Instruo
Soluo possvel
Fixao de pginas envolvidas com E/S na memria
44
Memria Secundria
(a) Paginao para uma rea de troca esttica (b) Pginas alocadas dinamicamente em disco
45
Segmentao (1)
Espao de endereamento unidimensional com tabelas crescentes Uma tabela pode atingir outra
46
Segmentao (2)
Segmentao (3)
Um seletor do Pentium
49
Proteo no Pentium
53