Professional Documents
Culture Documents
"1
Gerncia de Memria
Hierarquia de memrias! Memrias pequenas e rpidas! Memrias grandes e lentas
"2
Gerncia de Memria
Como o acesso a cada uma delas?! Sistema operacional abstrai o acesso! Uma parte do sistema operacional se
encarrega da gesto da memria
"3
Gerncia de Memria
Gerenciador de Memria! Parte do sistema operacional que
necessrio! gerencia as memrias principais e secundrias!
Gerncia de Memria
Vrios esquemas diferentes de
gerenciamento de memria! rsticos por hardware ! complexos
Gerncia de Memria
Como seria realizado o processo de acesso sem abstrao
"6
Gerncia de Memria
Sem abstrao de memria! Endereos absolutos em memria! ! "#$%&'()*+'&,-%,...
"7
Gerncia de Memria
Sem abstrao de memria! Processos podem alterar qualquer regio
da memria ! memria
Gerncia de Memria
Como permitir que o sistema operacional
co-exista com outro processo em memria? !
"9
Organizao da Memria
"10
Gerncia de Memria
Como executar mltiplas aplicaes sem
abstrao?!
"11
Gerncia de Memria
Problemas ainda persistem! Proteo de acesso! Realocao de memria
"12
Gerncia de Memria
Proteo de acesso! dois processos tentando atuar na mesma
regio de memria
"13
Problema de realocao
"14
Gerncia de Memria
Realocao esttica! sistema dene tamanhos de memria que os
processos podem ocupar!
processos quando criados so divididos em mdulos! cada mdulo possui uma varivel para o endereo de
acesso!
Gerncia de Memria
Realocao dinmica! Parties sem tamanho xo, onde cada programa
utiliza o espao que necessita!
Gerncia de Memria
Realocao dinmica! Instrues de leitura e escrita so
modicadas!
Registrador-base e registrador-limite
"18
Gerncia de Memria
E quando a memria fsica no comporta
todos os processos?!
Gerncia de Memria
Swapping! Alocar os processos mais necessrios! Liberar espao dos processos menos
necessrios!
Swapping
"21
Gerncia de Memria
Swapping! Processos devem ser alocados em
espaos contnuos !
Espaos desalocados podem surgir! Compactao de memria! Registradores base e limite funcionam
bem
"22
Gerncia de Memria
Swapping! Processos podem crescer! Alocao dinmica de memria! Uso de rea temporria de memria
(heap)!
Gerncia de Memria
Gerncia do uso de memria! mapa de bits! listas livres
"25
Gerncia de Memria
Mapa de bits! memria dividida em unidades de igual tamanho! cada unidade correspondente um bit no mapa
(1 ocupado e 0 livre)!
Gerncia de Memria
Listas Encadeadas ! segmentos so pores livres ou
"27
Gerncia de Memria
Algoritmos de alocao de processos em
memria!
Gerncia de Memria
Algoritmo rst-t (primeiro encaixe)! ocupa a primeira poro de memria
"31
P3
P1
P4
P2
Exemplo de Algoritmo First-Fit
"32
Gerncia de Memria
Algoritmo next-t (prximo encaixe)! semelhante ao rst-t! no inicia no incio da lista a cada nova
procura
"34
Gerncia de Memria
Algoritmo best-t (melhor encaixe)! escolha na lista inteira o local mais
apropriado para alocar nova rea!
Gerncia de Memria
Algoritmo worst-t (pior encaixe)! escolhe segmentos que sobraro mais
espao depois de alojados! resultados
Gerncia de Memria
Algoritmo quick-t (rpido encaixe)! mantm vrias listas com os tamanhos de
segmentos de memria mais solicitados!
"38
Gerncia de Memria
Solicitao de mais espao em memria! Processos podem solicitar mais memria! Alocao dinmica de memria
Gerncia de Memria
Problema a resolver: bloatwares! programas crescem mais rapidamente
que a memria!
Gerncia de Memria
Problema a resolver: necessidade de
execuo simultnea de vrios processos no individualmente comportados!
Gerncia de Memria
Primeira soluo: Sobreposies (Overlays)! Inicializado apenas o gerenciador de
sobreposies!
Sobreposio (Overlays)
"43
Gerncia de Memria
Problemas de Sobreposies (Overlays)! Diviso do programa em mdulos pelo
programador!
Propenso a erros (programadores erram)! Que critrios seriam utilizados para gerir
as sobreposies?
"44
Gerncia de Memria
Memria virtual! Cada programa possui espao de
endereamento prprio!
Gerncia de Memria
Gestor de Memria mapeia memria
principal e secundria em memria virtual! est ou no em memria fsica (principal)! referncia quando ela no est na memria fsica
"46
Gerncia de Memria
Multiprogramao com memria virtual! CPU poder ser dada a outro processo Melhor aproveitamento da CPU
"47
Gerncia de Memria
Memria virtual! Sistemas utilizam tcnica de paginao! Conjunto de endereos virtuais! Constitui o espao de endereamento virtual! Lista de ponteiros para os endereos fsicos! Em computadores sem memria secundria
o endereo virtual idntico ao endereo fsico
"48
Gerncia de Memria
Dispositivo responsvel em traduzir as MMU (Memory Management Unit)
"49
Gerncia de Memria
Tabela de pginas! Mapeia endereos virtuais em endereos fsicos! Exemplo! tabela de endereos virtuais de 16 bits de
pginas de 64KB!
Tabela de pginas
"52
Gerncia de Memria
Paginao! Pginas (pages)! Molduras de pgina (page frames)! Pginas em memria fsica! Apenas as molduras de pginas podem
acessadas simultaneamente! presente?
Gerncia de Memria
Interrupo por falta de moldura de pgina
(page fault)! disco!
Escolhe moldura pouca usada e salva em Carrega nova moldura! Atualiza tabela de pginas! Reinicia instruo causadora
"54
Gerncia de Memria
Exemplo de uso da MMU apresentada! 16 bits de entrada na tabela de pginas! 15 bits de memria fsica! endereo 37413 (1001 0010 0010 0101)! endereo fsico 21029 (101 0010 0010 0101)! endereo 57348 (1110 0000 0000 0100)! Page fault
"57
Tabela de Pginas 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 00 00 00 10 00 00 00 11 00 01 00 00 00 00 00 00 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0
Sada: ! {11} 1110 1110 0000 Converso de memria virtual de 16 bits para memria fsica de 14 bits Entrada: ! {1000} 1110 1110 0000
Gerncia de Memria
Possvel soluo para alocar mais molduras
de pgina!
Pginas compartilhadas
"59
Dois processos que compartilham o mesmo programa compartilhando sua tabela de pgina
"60
Gerncia de Memria
Bibliotecas compartilhadas! Evitar ligar estaticamente todas as
bibliotecas a cada programa!
Gerncia de Memria
No Linux!
5%677%89:;86<% % 6:;=>?@ABCD<ED,%FG%%H.>IIIIC...J% % 6:9<C6:;=>D<ED,%FG%86:986:9<C6:;=>D<ED,%H.>9K3CK...J% % 6:9LBD<ED,%FG%86:986:9LBD<ED,%H.>9K377...J% % 6:9MAND<ED1%FG%86:986:9MAND<ED1%H.>9K37K...J% % 6:9AM6D<ED,%FG%86:986:9AM6D<ED,%H.>9K3M7...J% % 6:9MD<ED3%FG%86:986:9MD<ED3%H.>9KOOI...J% % 6:976D<ED1%FG%86:986:976D<ED1%H.>9KOOA...J% % 86:9867?6:;=>D<ED1%H.>9KK1P...J% % 6:9NBQLCA7D<ED.%FG%86:986:9NBQLCA7D<ED.%H.>9KOPI...J% % 6:9ABBLD<ED,%FG%86:986:9ABBLD<ED,%H.>9KOPR...J
"62
Gerncia de Memria
No Mac OS X!
5%EBEE6%?S%89:;86<% 89:;86<T% %8=<L86:986:9;M=L<C<DOD4D7U6:9%HMEVNAB:9:6:BU% WCL<:E;%OD4D.-%M=LLC;B%WCL<:E;%OD4D.J% %8=<L86:986:9=B:6D7U6:9%HMEVNAB:9:6:BU% WCL<:E;%,D.D.-%M=LLC;B%WCL<:E;%,D.D.J% %8=<L86:986:9*U<BCVDXD7U6:9%HMEVNAB:9:6:BU% WCL<:E;%,D.D.-%M=LLC;B%WCL<:E;%,ORD,D.J
"63
Reviso
Proteo da memria
em sistemas sem abstrao! realocao de memria! memria!
Gerenciador de Gerenciamento de
memria de baixo nvel!
Problema de
Espao de Swapping!
"64
Executando mltiplas
endereamento! registrador-limite!
Registrador-base e
"65
Correios
(CESPE) Um programa carregado na memria e em execuo denominado processo. Nos sistemas operacionais de tempo compartilhado e nos multiprogramados, os jobs devem ser mantidos na memria ao mesmo tempo que so executados e, por isso, o sistema deve prover recursos de gerncia de memria e proteo.! a) Certo! b) Errado
"66
tamanho da partio.!
FUB
(CESPE) Em sistemas multiprogramados, uma forma de resolver o problema da realocao consiste em alterar as instrues do programa de acordo com a partio de memria em que ele ser carregado.! a) Certo! b) Errado
"68
FUB
(CESPE) Swaping a troca de processos entre a memria e o disco, quando a memria principal no suciente para conter todos os processos.! a) Certo! b) Errado
"69
FUB
(CESPE) Para que um programa possa ser executado, o seu tamanho, incluindo os dados e a pilha, no pode ser maior que a quantidade de memria fsica disponvel no computador para a sua execuo.! a) Certo! b) Errado
"70
DETRAN-ES
(CESPE) No gerenciamento de memria virtual, um sistema operacional pode ter uma parte dos espaos de endereamento atribuda memria principal e outra ao disco rgido, sendo possvel alternar o uso desses espaos de acordo com a necessidade de gerenciamento e uso.! a) Certo! b) Errado
"71
b)Divide o espao de endereamento virtual e espao de endereamento real em c)Divide o espao do endereamento virtual em blocos de tamanhos diferentes d)Divide o espao de endereamento virtual e espao de endereamento real em e)Divide o endereamento memria virtual em partes semelhantes chamadas de
blocos. blocos do mesmo tamanho chamados de pginas.!
"72