Please enable JavaScript.
Coggle requires JavaScript to display documents.
Gerência de Memória - Coggle Diagram
Gerência de Memória
Fragmentação
As partições fixas geram problemas, entre eles a fragmentação.
O desperdício de memória provoca a fragmentação interna (quando o espaço da partição é maior do que o necessário para executar o programa, sobrando uma área livre de memória que não pode ser reaproveitada por outro processo.
Não é possível o uso de 2 partições para um mesmo processo. Isto gera a fragmentação externa quando temos memória disponível mas não podemos executar o processo pois não temos uma partição grande o suficiente para executar o processo.
Na alocação particionada variável não ocorre fragmentação interna (o tamanho da memória alocada é igual ao tamanho do programa). Ocorre fragmentação externa, a medida que áreas de memória são alocadas e liberadas, fragmentos de memória são gerados.
Os fragmentos são pequenos demais para serem reaproveitados, então, o estado da memória é armazenado em uma lista
Para resolver o problema da fragmentação externa podemos realocar todas as partições ocupadas eliminando espaços entre
elas e criando uma única área livre contígua.
-
-
Swapping
A técnica conhecida como swapping, retira processos da
memória principal (swap out) e os traz de volta (swap in) seguindo critérios de cada
sistema operacional.
Neste caso, os processos em estados de espera e pronto podem estar
residentes ou não residentes (outswapped) na memória principal.
A técnica de swapping foi introduzida para contornar o problema da
insuficiência de memória principal.
Essa técnica é aplicada à
gerência de memória para programas que esperam por memória livre para serem
executados.
O algoritmo de escolha do processo a ser retirado da memória principal deve priorizar
aquele com menores chances de ser escalonado para evitar o swapping desnecessário de um processo que será executado logo em seguida.
Os processos retirados da memória
estão geralmente no estado de espera, mas ainda existe a possibilidade de um processo no estado de pronto também ser selecionado para swapping.
Para que a técnica de swapping seja implementada é essencial que o sistema ofereça um
loader que implemente a relocação dinâmica de programas.
Estratégias de Alocação
A melhor estratégia a ser adotada por um sistema depende de uma série de fatores, sendo o
mais importante o tamanho dos programas processados no ambiente.
Independentemente do algoritmo utilizado, o sistema possui uma lista de áreas livres, com o endereço e tamanho de cada área.
Na estratégia best-fit, 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.
Uma grande desvantagem desse método é consequência do próprio
algoritmo. 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.
Na estratégia worst-fit, a pior partição é escolhida, ou seja, aquela em que o programa deixa o maior espaço sem utilização.
Apesar de utilizar as maiores
partições, a técnica de worst-fit deixa espaços livres maiores que permitem a um maior número de programas utilizar a memória, diminuindo o problema da fragmentação.
Na estratégia first-fit, a primeira partição livre de tamanho suficiente para carregar o programa é escolhida. Nesse algoritmo, a lista de áreas livres está ordenada por endereços crescentemente.
- 1 more item...