A importância da memória e as estratégias de alocação de memória em sistemas operacionais.
A memória RAM serve para que o computador consiga executar programas e arquivos. Quando você pede para abrir um arquivo de texto, por exemplo, o computador busca este arquivo no HD e abre-o juntamente com o programa respectivo, trazendo-os para a memória RAM. Cada aplicativo aberto consome em média uns 30MB e isso significa que quanto mais memória RAM você tiver, maior será a capacidade de seu computador rodar vários programas ao mesmo tempo.
• 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.
• 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 memória.