Alocação de memória
•Alocação Contígua Simples
-implementado nos primeiros sistemas operacionais
-a memória principal é dividida em duas partes, uma para o sistema operacional
e a outra para o programa do usuário .
-não permite a utilização eficiente dos recursos do sistema, pois apenas um
usuário pode dispor destes recursos.
-todos os programas estão limitados ao tamanho da memória principal
disponível para o usuário.
•Segmentação de Programas
-dividir o programa em módulos.
-execução independente de cada módulo, utilizando a mesma área de memória
(overlay).
-a grande vantagem da utilização desta técnica consiste em se poder executar
programas maiores do que a memória física disponível.
1
Alocação de memória
•Alocação Particionada Estática
-alocação particionada estática absoluta - todas as referências a endereços no
programa são posições físicas na memória, ou seja, o programa só poderia ser
carregado a partir do endereço de memória especificado no seu próprio código.
-alocação particionada estática relocável - todas as referências a endereços no
programa são relativas ao início do código e não a endereços fixos na memória.
-problema decorrente do esquema de alocação fixa de partições, é chamado
fragmentação interna.
•Alocação Particionada Dinâmica
-foi eliminado o conceito de partições de tamanho fixo.
-programas utilizam apenas o espaço de que necessitam.
-outro tipo de problema: fragmentação externa.
-reunião de todos os blocos livres adjacentes.
-realocação de todas as partições ainda ocupadas para a parte inicial da
2
memória.
Alocação de memória
Estratégias de Alocação de Partição
-Best-fit: é escolhida a melhor partição, ou seja, aquela que deixa o menor
espaço sem utilização. Uma grande desvantagem desta estratégia é que,
como são alocados primeiramente as partições menores, deixando pequenos
blocos, a fragmentação aparece mais rapidamente.
-Worst-fit: aloca o programa na pior partição, ou seja, aquela que deixa o maior
espaço livre. Esta técnica, apesar de aproveitar primeiro as partições maiores,
acaba deixando espaços livres grandes o suficiente para que outros programas
utilizem esses espaços, permitindo que um número maior de processos se
utilizem da memória, diminuindo ou retardando a fragmentação.
-First-fit: esta estratégia aloca o programa na primeira partição que o couber,
independente do espaço livre que vai deixar. Das três estratégias, esta é a
mais rápida, consumindo menos recursos do sistema.
3
Técnicas de Gerenciamento de Memória
Swapping
-o sistema operacional “descarrega” um processo da memória para uma
área especial em disco, chamada arquivo de swap.
-o problema dessa técnica é que pode provocar um número excessivo de
acesso à memória secundária (disco), levando o sistema a uma queda de
desempenho.
Memória Virtual
-a utilização da técnica de overlay para contornar o problema do tamanho
dos programas é de difícil implementação na prática e nem sempre uma
solução garantida e eficiente.
-o conceito de memória virtual baseia-se em não vincular o endereçamento
feito pelo programa aos endereços físicos da memória principal.
-vantagem desta técnica é permitir um número maior de processos
compartilhando a memória principal, já que apenas partes de cada processo
estarão residentes. Isto leva a uma utilização mais eficiente do processador,
além de minimizar (ou quase eliminar) o problema da fragmentação.
4
Download

Gerência de memória-2