gerenciamento de memória
TRANSCRIPT
![Page 1: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/1.jpg)
GERENCIAMENTO DE MEMÓRIA
Cap 03. Gleiser Rodrigues de Melo
![Page 2: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/2.jpg)
2
Introdução
Uso da memória (idealmente) Quantidade infinita de memória Infinitamente rápida, não volátil e barata.
Na realidade (hierarquia de memória) Quantidade finita de memória Pequena quantidade muito rápida – muito cara e
volátil. Média quantidade rápida – custo razoavel e volátil Grande quantidade “lenta” – custo baixo e não volátil
Parte do S.O. que gerencia (parcialmente) a memória. GERENCIADOR DE MEMÓRIA !!!!
![Page 3: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/3.jpg)
3
Sem abstração de memória
Primeiros computadores não possuíam abstração da memória.
Só era considerado a memória principal Conjunto de endereços de 0 a algum máximo Nessas condições não era possível executar 2
programas na memória simultaneamente. Um programa poderia sobrescrever o outro
programa que estivesse armazenado no mesmo endereço de memória.
![Page 4: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/4.jpg)
4
Sem abstração de memória
Ainda que o modelo de memória fosse apenas a memória:
(a) e (c) Possibilidade de erro de programa do usuário apague o sistema operacional
![Page 5: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/5.jpg)
5
Sem abstração de memória
Quando o sistema é organizado dessa forma apenas um processo pode ser executado por vez.
Sistema copia o programa solicitado do disco para a memória e executa-o.
![Page 6: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/6.jpg)
6
Abstração de memória: Espaço de endereçamento
Espaço de endereçamento: é um conjunto de endereços que um processo pode usar para endereçar a memória. Cada processo tem seu espaço de
endereçamento Exceto quando dois ou mais processos
desejam compartilhar.
![Page 7: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/7.jpg)
7
Registradores-base e registradores-limite
CPU equipada com registradores. Quando um processo é executado:
RB é carregado com o endereço físico onde seu programa começa,
E o RL é carregado com o comprimento do programa.
“os valores usados quando o 2º
Programa é executado são 16.384 e
32.768.”
![Page 8: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/8.jpg)
8
Troca de memória
Dois métodos gerais para lidar com a sobrecarga de memória. Swapping. Memória Virtual.
SWAPPING: Traz em sua totalidade o processo para a memória, executa-o durante um tempo e então devolve ao disco.
![Page 9: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/9.jpg)
9
Troca de memória
Se os processos tiverem que crescer durante a execução (Área de dados). Aloca-se um espaço adjacente extra pra tal
crescimento. Se o espaço adjacente estiver outro
processo. O processo que necessita crescer poderá ser movido para uma área grande o suficiente.
Se a opção anterior não puder ser executada, o processo deverá ser suspenso.
“Se os processos puderemTer 2 áreas de expansão:• Area de dados: para variáveisAlocadas e liberadas.•Área de pilha: para variáveis locaise para endereços de retorno.Então a solução: (b)”
![Page 10: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/10.jpg)
10
Gerenciamento de memória livre Mapa de bits:
A cada unidade de alocação corresponde um bit no mapa de bits, o qual é 0 se a unidades estiver livre, e 1 se estiver ocupada (ou vice-versa).
Lista encadeada: Segmento: é tanto a área da memória
alocada a um processo como a área livre situada entre dois processos.
![Page 11: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/11.jpg)
11
Gerenciamento de memória livre
![Page 12: Gerenciamento de memória](https://reader033.vdocuments.site/reader033/viewer/2022052902/5571f9c34979599169905ebf/html5/thumbnails/12.jpg)
12
Mapeamento da Memória com listas ligadas: Best-Fit (melhor alocação):
Espaço mais próximo do tamanho do processo; Tempo de busca grande; Provoca fragmentação.
Worst-Fit (pior alocação): Cria o maior espaço possível; Tempo de busca grande; Não apresenta bons resultados.
First-Fit (primeira alocação): Melhor performance.
Next-Fit (próxima alocação): Performance inferior ao First-Fit.