Sistemas operacionais modernos - tanenbaum
Cap. 4 – Gerenciamento de Memória
Prof. Eduardo Pagani Julio eduardo.pagani@ice.ufjf.br Dep. Ciência da Computação
Gerenciamento de Memória
Todo programador deseja contar com memória:
Grande Rápida Não volátil
Hierarquia de memórias
Pequena quantidade de memória rápida, de alto custo - cache Quantidade considerável de memória de velocidade média, custo médio - memória principal Gigabytes de armazenamento não-volátil de velocidade e custo baixos - disco
O gerenciador de memória trata a hierarquia de memórias
Dep. Ciência da Computação
Gerenciamento Básico de Memória
Monoprogramação
Dep. Ciência da Computação
Gerenciamento Básico de Memória
Multiprogramação com partições fixas
Dep. Ciência da Computação
Relocação e Proteção
Não se sabe com certeza onde o programa será carregado na memória
Localizações de endereços de variáveis e de código de rotinas não podem ser absolutos
Solução 1: instruções do programa são modificadas segundo a partição de memória em que ele será carregado
Não resolve proteção! – Bits de proteção podem ser usados, funcionando como chaves de acesso
Solução 2: uso de valores base e limite
Localizações de endereços são somadas ao valor base antes de serem mapeadas na memória física Localizações de endereços maiores que o limite indicam erro
Dep. Ciência da Computação
Troca de Processos
Dep. Ciência da Computação
Troca de Processos
Dep. Ciência da Computação
Gerenciamento com Mapas de Bits
Dep. Ciência da Computação
Gerenciamento com Lista Encadeada
Dep. Ciência da Computação
Gerenciamento com Lista Encadeada
Dep. Ciência da Computação
Algoritmos para Seleção de Segmento
Algoritmos usados para a escolha do segmento a ser tomado para alocação por um processo
First fit Next Fit Best fit Worst fit Buddy System
Dep. Ciência da Computação
Seleção de Segmento - First fit
Dep. Ciência da Computação