Please enable JavaScript.
Coggle requires JavaScript to display documents.
Gerenciamento de memória (Sistema sem abstração de memória (Variações de…
Gerenciamento de memória
Função
gerenciar eficientemente a memória
controlar quais partes estão sendo usadas
Alocar memória para os processos quando eles precisam
Liberar memória quando os processos estiverem terminado
Sistema sem abstração de memória
Não seria possível ter dois programas em execução na memória ao mesmo tempo
Risco da geração de colapso entre os programas envolvidos
Variações de memória
Sistema operacional na parte inferior da memória RAM
erro no sistema pode apagar por completo o SO
Sistema operacional na parte superior da memória ROM
Sistema operacional com os drivers na parte superior da ROM e o resto na parte inferior da RAM
erro no sistema pode apagar por completo o SO
Apenas um processo de cada vez em execução
Sobrescrita de programas
Para conseguir o paralelismo deve ser programado com múltiplos threads
funcionamento limitado
Comum em sistemas embarcados e cartões inteligentes
Executando múltiplos programas sem abstração de memória
Salvar o conteúdo inteiro da memória em um arquivo de disco, então introduzir e executar o programa seguinte
Não existiram conflitos se houver apenas um programa de cada vez na memória
Abstração de memória: espaços de endereçamento
Noção de espaço de endereçamento
Multiplas aplicações na memória ao mesmo tempo
Proteção
Realocação
Inventar espaços de endereçamento para a memória
Criação de uma memória abstrata para abrigar os programas
Espaço de endereçamento
Conjunto de endereços que um processo pode usar para endereçar a memória
Cada processo tem seu próprio espaço de endereçamento
Não precisam ser numéricos
Registradores base e Registradores limite
Relocação dinâmica
Mapear o espaço de endereçamento de cada processo em um espaço diferente da memória física
ex: Equipar a CPU com dois registradores de hardware (registradores base e registradores limite)
Registrador base é carregado com o endereço físico onde o programa começa na memória
Registrador limite é carregando com o comprimento do programa
Dar a cada processo seu próprio espaço de endereçamento privado
Desvantagem
Necessidade de realizar uma adição e uma comparação em cada referência de memória
Troca de processos (Swapping)
Abordagem para lhe dar com sobrecarga de memória
Swapping
Consiste em trazer cada processo em sua totalidade, executa-lo por um tempo e então coloca-lo de volta no disco
Memória virtual
Permite que os programas possam ser executados mesmo quando estão apenas parcialmente na memória principal
Compactação de memória
Quando a troca de processos cria multiplos espaços é possivel combina-los em um grande espaço movendo todos os processos para baixo o máximo possivel
Exige muito tempo da CPU, por isso não é feita