Gerenciamento de memoria
Introdução
Programas são armazenados em memórias secundárias por sere um meio não-volátil. ● O SO deve sempre transferir programas da memória secundária para a memória principal antes de serem executados
●
Gerência de Memória
●
Deve tentar manter na memória principal o maior número de processos residentes. Na ausência de espaço livre, o sistema deve permitir que novos processo sejam aceitos e executados Permitir a execução de programas que sejam maiores que a memória física disponível.
●
●
Gerência de Memória
●
Garantir a proteção de áreas da memória, mecanismos de compartilhamento deve ser oferecidos para que diferentes processos possam trocar dados de forma protegida.
Alocação contígua Simples
● ●
Primeiros sistemas operacionais Memória principal é subdivida em duas áreas
– –
Sistema operacional Programas de usuário
●
Programador deve se preocupar em não ultrapassar o espaço de memória disponível.
Alocação contígua Simples
●
Usuário tem controle sobre toda a memória principal Tem acesso a qualquer posição da memória, inclusive a área do sistema operacional. Proteção através de um registrador que delimita as áreas do sistema operacional e do usuário
–
●
●
O sistema verifica se o endereço está dentro dos limites permitidos.
●
Caso não o programa é cancelado e uma mensagem de erro e gerado
Alocação contígua Simples
●
Vantagem
– –
Fácil de implementação Código reduzido Não permite a utilização eficiente dos recursos computacionais
●
●
Desvantagem
–
Caso o programa do usuário não preencha totalmente, existirá um espaço livre sem utilização
–
Apenas um usuário pode dispor desses recursos.
Técnica de Overlay
●
Divide o programa em módulos, possibilitando a execução independente de cada módulo A independência do código significa que quando um módulo estiver na memória para executar, o outro não precisa estar presente.
●
Técnica de