Professor
ANDREW S. TANENBAUM
Capítulo 3
Gerenciamento de memória Introdução
• Programas tendem a se expandir a fim de ocupar toda a memória disponível • Programador deseja memória infinitamente grande, rápida e não volátil • Por questões de preço, opta-se por utilizar uma hierarquia de memória
• Gerenciador de memória deve gerenciá-la de modo eficiente
Sem abstração de memória
• Cada programa simplesmente considera a memória física.
• 3 modelos de organização:
• ( a ) Antigos computadores de grande porte
• ( b ) Sistemas embarcados
• ( c ) primeiros computadores pessoais com MS-DOS
Múltiplos programas sem abstração de memória
• É possível através de swapping (1 por vez)
• Hardware especial pode permitir mais de um
• Problemas de referências absolutas incorretas
• Solução realocação estática = carregamento lento
• A história se repete em sistemas embarcados e cartões inteligentes
Abstração de memória: espaço de endereçamento
• Desvantagens da exposição da memória física:
• Danos intencionais ou acidentais
• Difícil executar múltiplos programas simultaneamente
• Solução
• Espaço de endereçamento, ou seja, conjunto de endereços que um processo pode usar para endereçar a memória
Registrador-base e limite
• Utilizados em versões simples da realocação dinâmica
• Limitam o endereçamento de um processo
• Desvantagem
• Necessidade de executar uma adição e uma comparação e, cada referência a memória. Troca de memória
• Quantidade de RAM p/ todos os processos > memória pode comportar
• Solução:
• Swapping
• Memória virtual
• Alocação e desalocação de processos criam “buracos” na memória
• Podem ser combinados com a compactação de memória
• Não usada em virtude do tempo de processamento gasto
• Tamanho do espaço de locação
• Se processo possui tamanho fixo = alocação exata
• Se processo possui tamanho variável = alocação extra é uma boa idéia. Troca de