Escolar Documentos
Profissional Documentos
Cultura Documentos
Gerenciamento de Memória
15/12/2021
Gerenciamento de Memória - Introdução
• Crescimento constante da capacidade de memória
• Crescimento ainda maior da demanda pelos programas
• Mundo ideal em termos de memória
◦ Capacidade infinita
◦ Rápida
◦ Não-volátil
◦ Baixo custo
• Impossı́vel de se obter
• Alternativa: hierarquias de memórias
◦ Cache: muito rápida, alto custo e volátil (MB)
◦ RAM: velocidade e custo médios e volátil (GB)
◦ HD: velocidade e custo baixos e não volátil (TB)
• SO → sua função é abstrair essa hierarquia em um modelo útil e
então gerenciar a abstração
• A parte do SO → Gerenciador de memória → Uso/Disponı́vel
2 of 19
Gerenciamento sem abstração
3 of 19
Gerenciamento sem abstração
4 of 19
Gerenciamento sem abstração
4 of 19
Gerenciamento sem abstração
4 of 19
Gerenciamento sem abstração
4 of 19
Gerenciamento sem abstração
5 of 19
Gerenciamento sem abstração
6 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Gerenciamento sem abstração
7 of 19
Abstração de memória: Espaço de endereçamento
8 of 19
Registradores-base e registradores-limite
9 of 19
Registradores-base e registradores-limite
10 of 19
Troca de Memória (Swapping)
11 of 19
Troca de Memória (Swapping)
12 of 19
Troca de Memória (Swapping)
13 of 19
Troca de Memória (Swapping)
14 of 19
Gerenciamento de Memória Livre
• Duas maneiras de verificar utilização de memória
◦ Mapa de bits
◦ Listas encadeadas
• Mapa de bits
◦ Memória dividida em unidades de alocação
◦ A cada unidade é atribuido um bit (0=livre/1=ocupado)
◦ Tamanho da unidade: parâmetro de projeto
◦ Alocação lenta: procura de sequência de unidades livres
15 of 19
Gerenciamento de Memória Livre
• Listas encadeadas
◦ Lista de segmentos alocados e disponı́veis
◦ Cada elemento da lista:
• Especifica status (H=livre / P=ocupado com um processo)
• Endereço de inı́cio
• Comprimento
• Ponteiro para próximo elemento
16 of 19
Gerenciamento de Memória Livre
• Listas encadeadas
◦ Lista ordenada permite atualização rápida
◦ Processo que termina execução tem dois vizinhos na lista
• Segmentos alocados a um processo
• Memória livre
◦ Existem 4 combinações de vizinhos
17 of 19
Gerenciamento de Memória Livre
18 of 19
Gerenciamento de Memória Livre
19 of 19