Gerenciamento de memória
Gerenciamento de Memória
GERENCIAMENTO DE MEMÓRIA
Gerenciador de Memória é a parte do SO que é responsável por cuidar de quais partes da memória estão em uso, quais estão livres, alocar memória a processos quando eles precisam, desalocar quando eles não necessitarem mais e gerenciar a troca dos processos entre a memória principal e o disco (quando a memória principal não é suficiente para manter todos os processos)
Maneiras de Gerenciar a Memória:
Gerenciamento sem Troca ou Paginação:
Troca e paginação são métodos utilizados de movimentação da memória para o disco e vice-versa durante a execução dos processos. Sem troca ou paginação é o caso mais simples.
Monoprogramação sem Troca ou Paginação: Temos um único processo sendo executado por vez, de forma que o mesmo possa utilizar toda a memória disponível, com exceção da parte reservada ao SO (que permanece constante em local pré-determinado). O SO carrega um programa do disco para a memória executa-o e em seguida aguarda comandos do usuário para carregar um novo programa, que irá se sobrepor ao anterior.
Multiprogramação:
A monoprogramação não é mais utilizada em sistemas grandes, pois:
>> Muitas aplicações são mais facilmente programáveis, quando as dividimos em dois ou mais processo;
>> Os grandes computadores em geral oferecem serviços interativos simultaneamente para diversos usuários (seria impossível trabalhar com um único processo por vez, pois representaria sobrecarga devido à constante necessidade de chavear de um processo para outro – constantemente lendo e escrevendo no disco);
>> É necessário que diversos processos estejam “simultaneamente” em execução devido as operações de E/S, que implica em grandes esperas nas quais por questão de eficiência a UCP deve ser entregue a outro processo.
Multiprogramação com Partições Fixas:
Consistem em dividir a memória existente em n partições fixas, podendo ser de tamanhos