Please enable JavaScript.
Coggle requires JavaScript to display documents.
Gerência de Memória - Gabriel Siqueira - Coggle Diagram
Gerência de Memória - Gabriel Siqueira
Alocações
Contígua Simples
Nesse tipo de organização, a memória principal é subdividida em duas áreas: uma para o sistema operacional e outra para o programa do usuário.
Dessa forma, o programador deve desenvolver suas aplicações preocupado apenas em não ultrapassar o espaço de memória disponível
Implementada nos primeiros SO, porém ainda presente em alguns sistemas monoprogramáveis
Essa alocação não permite a utilização eficiente dos recursos computacionais, pois apenas um usuário pode dispor desses recursos
Overlay
A técnica do Overlay é dividir o programa em módulos, de forma que seja possível a execução independente de cada módulo, utilizando uma mesma área de memória.
O tamanho de uma área de overlay é estabelecido a partir do tamanho do maior módulo
Sua vantagem é permitir ao programador expandir os limites da memória principal, porém a utilização desta técnica exige muito cuidado, pois pode trazer implicações tanto na sua manutenção quanto no desempenho das aplicações, devido à possibilidade de transferência excessiva dos módulos entre as memórias principal e secundária
Particionada Estática
Neste tipo de gerência de memória, o tamanho das partições, estabelecido na fase de inicialização do sistema era definido em função do tamanho dos programas que executariam no ambiente
Sempre que fosse necessária a alteração do tamanho de uma partição, o sistema deveria ser desativado e reinicializado com uma nova configuração
Neste caso, a memória era dividida em pedaços de tamanho fixo, chamados partições
Particionada Dinâmica
Neste caso, foi eliminado o conceito de partições de tamanho fixo.
Neste esquema, cada programa utilizaria o espaço necessário, tornando essa área sua partição.
Como os programas utilizam apenas o espaço de que necessitam, o problema da fragmentação interna não ocorre, porém um outro tipo de fragmentação começará a ocorrer, quando os programas forem terminando e deixando espaços cada vez menores na memória, não permitindo o ingresso de novos programas
Fragmentação
Interna
Ocorre quando a alocação de memória é baseada em partições de tamanho fixo onde, após uma aplicação de tamanho pequeno ser atribuída a um slot, o espaço livre restante desse slot é desperdiçado
Externa
Ocorre quando a memória é alocada dinamicamente onde, depois de carregar e descarregar vários slots aqui e ali, o espaço livre está sendo distribuído ao invés de ser contíguo
Estratégia de Alocação
Best-fit
Vantagem
: nesta estratégia, a melhor partição é escolhida, ou seja, aquela em que o programa deixa o menor espaço sem utilização. Nesse algoritmo, a lista de áreas livres está ordenada por tamanho, diminuindo o tempo de busca por uma área desocupada
Desvantagem
: como é alocada a partição que deixa a menor área livre, a tendência é que cada vez mais a memória fique com pequenas áreas não contíguas, aumentando o problema da fragmentação
Worst-fit
Vantagem
: nesta estratégia a pior partição é escolhida, ou seja, aquela em que o programa deixa o maior espaço sem utilização
Desvantagens
: apesar de utilizar as maiores partições, a técnica deixa espaços livres maiores que permitem a um maior número de programas utilizar a memória, diminuindo o problema da fragmentação
First-fit
Vantagem
: nesta estratégia, a primeira partição livre de tamanho suficiente para carregar o programa é escolhido, sendo que a lista de áreas livres está ordenada por endereços crescentemente
Desvantagem
: como o método tenta primeiro utilizar as áreas livres de endereços mais baixos, existe uma grande chance de se obter uma grande partição livre nos endereços de memória mais alto
Swapping
Mecanismo que permite retirar um processo da memória principal para a memória secundária(disco ou memória virtual)
Pode ser utilizado em conjunto com o critério de escalonamento
Round-Robin
: o processo é retirado para disco assim que terminar o seu time quantum
Prioridade
: os processos menos prioritários são retirados para o disco eaté poderem ser executados
Swap out
: tirar um programa da memória principal e move-lo para a memória secundária
Swap in
: a partir do momento em que a memória estiver livre, o processo que foi retirado poderá voltar a execução
Memória Virtual
Um bloco(espaço reservado) no disco que é usado para simular o espaço da memória RAM
Ele é utilizado quando o espaço real da memória RAM acabar , sendo que por meio do Swapping os programas serão colocados na memória virtual
Porém, quando a memória virtual está sendo utilizada, o desempenho do computador é prejuddicado