Gerencia de Memoria Cont

13
+ Gerencia de Memória Prof.ª Líliam Barroso Leal

Transcript of Gerencia de Memoria Cont

Page 1: Gerencia de Memoria Cont

+Gerencia de Memória Prof.ª Líliam Barroso Leal

Page 2: Gerencia de Memoria Cont

+Gerenciamento de Memória

n  Cabe ao sistema operacional coordenar a utilização das diversas memórias disponíveis no computador.

n  O gerenciamento de memórias consiste em algumas tarefas como:

n  Manter o controle de quais partes da memória estão em uso e quais não estão.

n  Alocar e liberar memória para processos.

n  Gerenciar a troca de processos entre a memória principal e o disco rígido quando necessário (swapping).

Page 3: Gerencia de Memoria Cont

+Motivação

n  Idealmente, o que todo programador deseja é: n  Grande quantidade de memória

n  Rapidez

n  Não Volátil

n Hierarquia das memórias n  Pequena quantidade de memória rápida, de alto custo – cache

n  Quantidade considerável de memória principal de velocidade média, custo médio.

n  Gigabytes de armazenamento em disco de velocidade e custos baixos.

Page 4: Gerencia de Memoria Cont

+Gerenciamento Básico de Memória

n  O gerenciamento de memória podem ser divididos em duas classes:

n  Sistemas que, durante a execução levam e trazem processos entre a memória principal e o disco

n  E sistemas mais simples que não fazem gerenciamento de troca.

Page 5: Gerencia de Memoria Cont

+Monoprogramação Sem Troca de Processos ou Paginação

n  A memória é compartilhada entre o programa e o sistema operacional e somente um programa é executado por vez.

n  Existem três variação desse esquema:

Page 6: Gerencia de Memoria Cont

+Multiprogramação com partições Fixas

n  Consiste em dividir a memória em n partições (provavelmente de tamanhos diferentes) n  Problema: fragmentação interna.

Page 7: Gerencia de Memoria Cont

+Troca de Processo

n  Dois métodos gerais para o gerenciamento de memória podem ser usados dependendo dos recursos de hardware disponíveis.

n  Troca de processos (swapping): consiste em trazer totalmente cada processo para a memória, executá-lo durante um certo tempo e depois devolve-lo ao disco.

n  Memória Virtual: permite que programas possam ser executados mesmo que estejam apenas parcialmente carregados na MP.

Page 8: Gerencia de Memoria Cont

+Particionamento Variável

n  A flexibilidade de não esta amarrado a um número fixo de partições melhora a utilização da memória, mas complica a alocação e a liberação de memória e o gerenciamento dessas trocas. n  Uma possível solução, seria uso da técnica de compactação de

memória. Mas devido ao tempo de processamento necessário, essa técnica geralmente não é usada.

Page 9: Gerencia de Memoria Cont

+Particionamento Variável

Page 10: Gerencia de Memoria Cont

+Gerencia de Memória com Mapa de Bits

n  Quando a memória é alocada dinamicamente, o sistema operacional deve gerenciá-la. Existem duas maneiras de fazer isso: n  Mapa de bits

n  Lista de disponíveis

Page 11: Gerencia de Memoria Cont

+Mapa de Bits

n  Associa a cada unidade de alocação de memória um bit no mapa de bits. n  Bit 0: Unidade de alocação disponível;

n  Bit 1: Unidade de alocação ocupada.

Page 12: Gerencia de Memoria Cont

+Mapa de Bits

n  Problemas: Quando é necessário carregar na memória um processo de tamanho k unidades, é preciso localizar espaço disponível na memória com tamanho correspondente a K bits 0 consecutivos.

Page 13: Gerencia de Memoria Cont

+Gerenciamento de Memória Com Lista Encadeada

n  Mantem uma lista encadeada de segmentos de memória alocados e de segmentos de memória disponíveis. n  Pode ser utilizado com diversos algoritmos para alocar memória

a um processo.

n  First Fit

n  Next Fit

n  Best Fit

n  Worst Fit

n  Todos esses algoritmos podem se tornar mais rápidos se segmentos de memória alocados a processos e segmentos de memória disponíveis fossem mantidos em listas separadas