Documente Academic
Documente Profesional
Documente Cultură
Sistemas Operacionais
02/05/2012
02/05/2012
1 1
Gerncia de Memria
02/05/2012
02/05/2012
Consideraes:
Recurso caro e escasso; Programas s executam se estiverem na memria principal; Quanto mais processos residentes na memria principal, melhor ser o compartilhamento do processador; Necessidade de uso otimizado; O S.O. no deve ocupar muita memria; um dos fatores mais importantes em um projeto de S.O..
02/05/2012
02/05/2012
controlar quais regies de memria so utilizadas e por qual processo; decidir qual processo deve ser carregado para a memria, quando houver espao disponvel; alocar e desalocar espao de memria.
Controlar quais as unidades de memria esto ou no esto em uso, para que sejam alocadas quando necessrio; Liberar as unidades de memria que foram desocupadas por um processo que finalizou; Tratar do Swapping entre memria principal e memria secundria.
02/05/2012
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Programa em Ling. de Alto Nvel
Compilador *Linkeditor: Programa que rene mdulos compilados e arquivos de dados para criar um programa executvel. Os linkeditores tem tambm outras funes, como a criao de bibliotecas.
Montador
Linkeditor*
Executvel: programa em ling de mquina 02/05/2012
Carregador
Memria
Gerncia de Memria
Cdigo absoluto: - Endereos relativos ao incio da memria (endereos reais) - Programas exclusivos para parties especficas na memria
02/05/2012
Cdigo relocvel: - O programa pode ser carregado em qualquer posio da memria. - Deve haver uma traduo de endereos (ou relocao de endereos)
6
Gerncia de Memria
Cdigo absoluto Carregador absoluto
No realiza correo de endereos no momento da carga do programa em memria.
Cdigo executvel absoluto no necessita manter tabelas de endereos a serem corrigidos. Endereo de carga
Fixo pelo programa (programador). Qualquer.
Correo pode ser feita automaticamente, de forma transparente, a partir de registradores de base
02/05/2012
Gerncia de Memria
Cdigo relocvel
Carregador relocador
Correo de todas as referncias a memria de forma a corresponder ao endereo de carga do programa.
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Relocao de Endereos
Esttica
O Loader (em tempo de carga) reloca os endereos das instrues relocvies (ex: JMP endx) Em tempo de execuo O processo pode ser movimentado dentro da memria fsica Um hardware especial deve estar disponvel para que funcione (MMU)
9
Dinmica
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Traduo
02/05/2012
10
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Gerncia de Memria Memria Lgica - aquela que o processo enxerga, o processo capaz de acessar. Memria Fsica - aquela implementada pelos circuitos integrados de memria, pela eletrnica do computador (memria real)
CPU
02/05/2012
Endereo lgico
Memria
11
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Parties Fixas
Parties Variveis
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Alocao implementada nos primeiros sistemas e ainda usada nos monoprogramveis; A Memria dividida em duas reas:
Memria principal
Sistema Operacional
Um usurio no pode usar uma rea maior do que a disponvel; Sem proteo:
02/05/2012
13
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Registrador de proteo delimita as reas do sistema operacional e do usurio; Reg Sistema verifica acessos memria em relao ao endereo do registrador; A forma de alocao era simples, mas no permitia utilizao eficiente de processador e memria;
Sistema Operacional
02/05/2012
14
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Memria principal
Sistema Operacional rea do Mdulo Principal
Dividir o programa em mdulos; Permitir execuo independente de cada mdulo, usando a mesma rea de memria; rea de memria comum onde mdulos compartilham mesmo espao.
rea de Overlay
rea de Overlay
C
15
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
16
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Alocao Particionada
Multiprogramao.
Ocupao mais eficiente do processador; A memria foi dividida em pedaos de tamanho fixo chamados parties; O tamanho de cada partio era estabelecido na inicializao do sistema; Para alterao do particionamento, era necessrio uma nova inicializao com uma nova configurao.
02/05/2012
17
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Parties fixas
Compiladores gerando cdigo absoluto; Programas exclusivos para parties especficas. Simples de gerenciar E se todos os processos s pudessem ser executados em uma mesma partio (mesmo endereo base?)
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Proteo:
Memria principal
Reg. de Relocao Reg Limite
Programas no ocupam totalmente o espao das parties, gerando uma fragmentao interna.
Partio B Partio C
02/05/2012
19
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
20
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
21
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
22
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
A esse novo tipo de alocao deu-se o nome de alocao particionada esttica relocvel.
02/05/2012
23
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
24
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Para manter o controle sobre quais as parties estavam alocadas ou no, os sistemas possuam uma tabela delimitando cada partio, seu tamanho e se estava em uso ou no.
02/05/2012
25
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
26
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Memria principal
Sistema Operacional
Processo A
Processo C Processo F Processo E
Ao terminarem, os programas deixam espalhados espaos pequenos de memria, provocando a fragmentao externa.
02/05/2012
REA LIVRE
11 KB
C - 1 kB
02/05/2012
E - 6 kB
?
28
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Solues:
Memria principal
Sistema Operacional
Reunio dos espaos contguos. Realocar todas as parties ocupadas eliminando espaos entre elas e criando uma nica rea livre contgua-> Relocao Dinmica de endereos:
Processo A
Movimentao dos programas pela memria principal. Resolve o problema da fragmentao. Consome recursos do sistema
Processo F Processo E
02/05/2012
29
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Proteo
02/05/2012
30
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Processos crescem quando em execuo bom definir reas extras para dados e pilhas
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
32
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Mapa de bits
Usado para o gerenciamento com alocao dinmica Memria dividida em unidades de alocao
Qto menor maior o mapa de bits Qto maior desperdio na ltima unidade
Disponvel = 0 Ocupada = 1 Busca de k zeros consecutivos para alocao de k unidades Raramente utilizado atualmente.
Principal problema
muito lenta
33
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Tambm usado para gerenciar a alocao dinmica. Lista ligada de segmentos alocados ou livres Um segmento uma rea de memria alocada ou livre Cada elemento da lista indica
Estado do segmento (P) Alocado por um processo ou (H) Livre Unidade em que inicia Tamanho em unidades
Lista duplamente encadeada facilita de concatenao de segmenos Lista ordenada por endereo permite vrios algoritmos de alocao
P: Processo H: Hole (buraco)
02/05/2012
Header
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
35
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
P 0 100
H 100 200
P 300 50
H 350 400
P 750 50
H 800 50
A: 190
Header
P 0 100
P 100 190
P 300 50
H 290 10 P 300 50
H 350 400
P 750 50
H 800 50
Header
P 0 100
H 100 200
P 750 50
H 800 50
B: 250
P 350 250
H 600 150
02/05/2012
36
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Existem 4 maneiras de percorrer a lista de espaos livre atrs de uma lacuna de tamanho suficiente, so eles:
Espao mais prximo do tamanho do processo; Tempo de busca grande; Provoca fragmentao. Escolhe o maior espao possvel; Tempo de busca grande; No apresenta bons resultados.
02/05/2012
37
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
utiliza a primeira lacuna que encontrar com tamanho suficiente Melhor performance.
como first-fit mas inicia a procura na lacuna seguinte a ltima sobra Performance inferior ao First-Fit.
02/05/2012
38
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Todos melhoram em performance se existirem listas distintas para processos e espaos, embora o algoritmo fique mais complexo.
Listas ordenadas por tamanho de espao melhoram a performance.
39
02/05/2012
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Quando h a necessidade de carregar uma pgina, o sistema deve selecionar entre as diversas pginas alocadas na memria qual delas dever ser liberada pelo processo.
02/05/2012
40
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
02/05/2012
41
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Os algoritmos de substituio de pginas tm o objetivo de selecionar os frames que tenham as menores chances de serem referenciados num futuro prximo. Caso contrrio, o frame poderia retornar diversas vezes para a memria real, provocando excesso de page faults.
02/05/2012
42
http://www.inf.ufes.br/~rgomes/so.htm
Gerncia de Memria
Referncias
A. S. Tanenbaum, ''Sistemas Operacionais Modernos'', 2a. Edio, Editora Prentice-Hall, 2003. Silberschatz A. G.; Galvin P. B.; Gagne G.; ''Fundamentos de Sistemas Operacionais'', 6a. Edio, Editora LTC, 2004. Deitel H. M.; Deitel P. J.; Choffnes D. R.; Sistemas Operacionais, 3. Edio, Editora Prentice-Hall, 2005.
02/05/2012
43