gerência de memória. alocação contígua simples implementada nos primeiros s.o....

Post on 17-Apr-2015

115 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gerência de Memória

Alocação Contígua Simples

• Implementada nos primeiros S.O.• Monoprogramáveis• Programador se preocupa em não ultrapassar a memória disponível.• O usuário tem controle sobre toda a memória principal.

Alocação Contígua Simples

• Implementação para proteção através de um registrador que delimita as áreas do S.O. e usuário.

•Caso o programa do usuário não preencha totalmente, existirá um espaço de memória livre sem utilização.

Técnica de Overlay

A técnica é 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.

Alocação Particionada

Podem ser:Estática – tamanho fixo (partições)

AbsolutaRelocável

Dinâmica – tamanho variável

Alocação Particionada Estática

O tamanho das partições é estabelecido na fase da inicialização do sistema, era definido em função do tamanho dos programas que executariam no ambiente.Caso fosse necessária a alteração do tamanho da partição, o sistema deveria ser reiniciado com uma nova configuração.

Alocação Particionada EstáticaAlocação Particionada Estática AbsolutaOs programas só podiam ser carregados e executados em apenas uma partição específica, mesmo se outras estivessem disponíveis, que eram as limitações dos compiladores e montadores.

Todas as referências a endereços no programa são posições físicas na memória principal

Alocação Particionada EstáticaAlocação Particionada Estática RelocávelTodas as referências a endereços no programa são relativas ao início do código e não a endereços físicos de memória. Podendo os programas ser executados em qualquer partição.

Alocação Particionada EstáticaAlocação Particionada Estática RelocávelPara manter o controle das partições, a gerência de memória mantém uma tabela com o endereço inicial de cada partição, seu tamanho, e se está em uso.

Alocação Particionada EstáticaAlocação Particionada Estática RelocávelNeste esquema de alocação de memória, a proteção baseia-se em dois registradores, que indicam os limites inferior e superior da partição.

Alocação Particionada EstáticaAlocação Particionada Estática RelocávelNormalmente os programas não preenchem totalmente as partições onde são carregados, ocasionando a fragmentação interna.

Alocação Particionada Dinâmica

• Eliminado o conceito de partição de tamanho fixo• Eliminado o problema de fragmentação interna

Alocação Particionada DinâmicaUm tipo diferente 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, chamada fragmentação externa.

Alocação Particionada DinâmicaPrimeira solução para fragmentação externaConforme os programas terminam, apenas os espaços livres adjacentes são reunidos, produzindo áreas livres de tamanho maior.

Alocação Particionada DinâmicaSegunda solução para fragmentação externaEnvolve a relocação de todas as partições ocupadas, eliminando os espaços entre elas e criando uma única área livre contígua, chamado de alocação particionada dinâmica com relocação.

Estratégias de Alocação de PartiçãoOs sistemas operacionais implementam três estratégias para determinar em qual área livre o programa será carregado para execução.

Estratégias de Alocação de PartiçãoBest-fitA melhor partição é escolhida, ou seja, aquela em que o programa deixa o menor espaço sem utilização. Possui uma lista de áreas livres ordenadas por tamanho, diminuindo o tempo de busca por uma área desocupadaDesvantagem: pequenas áreas não-contíguas, aumentado a fragmentação

Estratégias de Alocação de PartiçãoWorst-fitA pior partição é escolhida, ou seja aquela que o programa deixa o maior espaço sem utilização. Diminuindo a fragmentação.

Estratégias de Alocação de PartiçãoFirst-fitA primeira partição livre de tamanho suficiente para carregar o programa é escolhida. A lista de áreas livres está ordenada crescentemente por endereço. É a mais rápida, consumindo menos recursos do sistema.

Swapping

Introduzida para contornar o problema da insuficiência de memória principal.É uma técnica aplicada à gerencia de memória para programas que esperam por memória livre para serem executados.

Swapping

O sistema escolhe um processo residente, que é transferido da memória principal para memória secundária (swap out), geralmente disco.

Posteriormente é carregado de volta para a memória principal (swap in) e pode continuar sua execução como se nada tivesse ocorrido.

top related