Rrrr
Gerência de Memória
Gerência de Memória
• Idealmente, o que todo programador deseja é dispor de uma memória que seja – 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 principal de velocidade média, custo médio – gigabytes de armazenamento em disco de velocidade e custo baixos • O gerenciador de memória trata a hierarquia de memórias
Gerência de Memória
• Principal operação – trazer programas para dentro da memória principal para ser executados pelo processador. • Dividir dinamicamente a parte “User” da memória principal de forma que acomode vários processos. • Alocar a memória de forma eficiente para empacotar tantos processos na memória quanto possível para evitar que o processador fique ocioso. • Deve ser capaz de rodar um programa em que seu tamanho seja maior que o disponível pela memória real.
Gerência de Memória
Memória Lógica - é aquela que o processo enxerga, o processo é capaz de acessar. Memória Física - é aquela implementada pelos circuitos integrados de memória, pela eletrônica do computador
CPU
Endereço lógico
Gerenciador Endereço de Memória físico
Memória
Gerenciamento de Memória
• Swapping • Alocação contígua • Paginação • Segmentação • Segmentação paginada
Swapping
• Existem situações onde não é possível manter todos os processos na memória. Ex: – um processo já alocado na memória faz uma chamada de sistema pedindo mais memória e não existe memória livre contígua a área onde o mesmo está alocado – um usuário dispara um programa, não existe memória disponível mas é política dos sistema disparar imediatamente todos os programas solicitados de terminal
Swapping
• Usando o swapping o sistema escolhe um programa residente que é levado da memória para o disco (swap-out) retornando posteriormente para a memória (swap-in); • Grande custo em termos de tempo de execução; • Mais aceitável