Professional Documents
Culture Documents
br
Gerenciamento de Memria
Diversos processos dividem o processador, para que o chaveamento entre eles seja rpido eles devem estar na memria. O gerente de memria do sistema operacional deve prover mecanismos para oferecer segurana e eficincia.
Sistemas Operacionais
Gerenciamento de Memria
Nos sistemas multiprogramveis um controle extremamente crtico. A maior preocupao dos projetistas desenvolver SOs que ocupem pouca memria e ao mesmo tempo otimizem sua utilizao.
Sistemas Operacionais
Gerenciamento de Memria
No confundir:
Memria Principal: Onde residem todos os programas e dados que sero utilizados pelo processador. Memria Secundria: um meio permanente, mais abundante e de baixo custo para armazenar os dados.
Sistemas Operacionais
Gerenciamento de Memria
Foi implementada nos primeiros SO (ainda presente em sistemas monoprogramveis). A memria principal dividida em 2 partes: uma para o SO e outra para os programas do usurio. O programador no deve ultrapassar o espao de memria disponvel (o tamanho da memria principal menos o espao ocupado pelo SO).
Sistemas Operacionais
Memria Principal
Sistema Operacional
Sistemas Operacionais
Gerenciamento de Memria
O usurio tem total acesso a memria, inclusive a rea do SO. possvel ao usurio destruir o SO. Implementao de uma proteo atravs de um registrador.
Sistemas Operacionais
Memria Principal
Sistemas Operacionais
Memria Principal
H sempre o controle do endereo de memria. Access violation: Quando o programa do usurio cancelado por estar referenciando uma rea de memria delimitada para o uso Sistema Operacional.
Sistemas Operacionais
Memria Principal
Sistemas Operacionais
Memria Principal
Tcnica de Overlay: Divide o programa em mdulos que rodam independentes, utilizando uma mesma rea de memria.
Quando um mdulo estiver na memria o outro no precisa estar. A rea de overlay definida pelo maior overlay disponvel. Cuidado apenas com a transferncia disco/memria.
Sistemas Operacionais
Memria Principal
Overlay
Sistema Operacional 2Kb Cadastro 4Kb
Memria Principal
Alocao Particionada:
Sistemas monoprogramveis o processador fica ocioso, com isso o surgimento da multiprogramao. Permitir que vrios programas estejam na memria ao mesmo tempo.
Sistemas Operacionais
Memria Principal
Tamanho estabelecido na fase de inicializao. Sempre que era necessrio mudar o tamanho da partio o sistema deveria ser desativado e reinicializado.
Sistemas Operacionais
Memria Principal
Partio 3 8Kb
D 6Kb
E 3Kb Sistemas Operacionais
Memria Principal
Partio 3 8Kb
E 3Kb
Sistemas Operacionais
Memria Principal
Gerao cdigo relocvel (compilador/montador) Qualquer partio que suporte o programa permite que ele execute.
A 2Kb Sistema Operacional Partio 1 - 2Kb Partio 2 - 5Kb B 4Kb C 1Kb D 6Kb
Partio 3 8Kb
E 3Kb
Sistemas Operacionais
Memria Principal
A proteo baseia-se em dois registradores (inferior e superior). H uma tabela indicando a partio, seu tamanho e se est ou no disponvel. Programas geralmente no ocupam toda a partio. Programas grandes esperam parties que o suportem (mesmo parties adjacentes somadas que suportem seu tamanho no so usadas = fragmentao espaos perdidos).
Sistemas Operacionais
Memria Principal
Eliminado o conceito de partio fixa. Cada programa utiliza o espao que necessita para executar. Ocorrncia de fragmentao na sada (programas vo deixando espaos cada vez menores a medida que vo terminando, impedindo o ingresso de novos programas).
Sistemas Operacionais
Memria Principal
D 6Kb
E 3Kb Sistemas Operacionais
Memria Principal
B 4Kb
C 1Kb
E 3Kb
A 2Kb Livre 1Kb
D 6Kb
E 3Kb Sistemas Operacionais
Memria Principal
partes adjacentes a partir do momento que os programas terminam de executar. Relocar os programas (Alocao Dinmica com Relocao) compactao. Consome muito recurso e muito complexo.
Sistemas Operacionais
Memria Principal
Livre 4Kb
C 1Kb
Livre 3Kb
A 2Kb Livre 1Kb
D 6Kb
E 3Kb Sistemas Operacionais
Memria Principal
D 6Kb
A 2Kb Livre 1Kb E 3Kb Sistemas Operacionais
Memria Principal
A 2Kb
Livre 8Kb
D 6Kb
E 3Kb Sistemas Operacionais
Memria Principal
Devem principalmente evitar ou diminuir o problema da fragmentao. O fator mais importante na escolha da estratgia o tamanho do programa. Basicamente implementam-se trs estratgias: Best-fit, Worst-fit e First-fit.
Sistemas Operacionais
Memria Principal
Independente do mecanismo, sempre h uma lista indicando as parties livres. Sistema Operacional Livre 3Kb C 1Kb Livre 4Kb Lista reas livres 1 3Kb 2 4Kb 3 2Kb
X 1Kb
A 2Kb Livre 2Kb Sistemas Operacionais
Memria Principal
Estratgia Best-fit:
Escolhe a melhor partio, ou seja, aquela em que o programa deixa o menor espao sem utilizao. A lista de parties livres ordenada por tamanho. H uma forte tendncia de que cada vez mais a memria fique com pequenas reas no contguas, aumentando o problema da fragmentao.
Sistemas Operacionais
Memria Principal
Best-fit
Sistema Operacional Livre 3Kb C 1Kb Livre 4Kb Lista reas livres 1 3Kb 2 4Kb 3 1Kb
X 1Kb
A 2Kb X 1Kb Livre 1Kb
Sistemas Operacionais
Memria Principal
Estratgia Worst-fit:
Nesta estratgia, o mecanismo escolhe a pior partio, ou seja, aquela em que o programa deixa o maior espao sem utilizao. Como conseqncia, deixa espaos livres maiores o que permite um maior nmero de programas utilizando a memria, diminuindo a fragmentao.
Sistemas Operacionais
Memria Principal
Worst-fit
Sistema Operacional Livre 3Kb C 1Kb X 1Kb Lista reas livres 1 3Kb 2 3Kb 3 2Kb
Livre 3Kb
A 2Kb Livre 2Kb
X 1Kb
Sistemas Operacionais
Memria Principal
Estratgia First-fit:
O mecanismo escolhe a primeira partio livre de tamanho suficiente para carregar o programa. A lista ordenada por endereos crescentes. a mais rpida. H uma grande chance de se obter uma grande partio livre nos endereos mais altos da memria.
Sistemas Operacionais
Memria Principal
First-fit
Sistema Operacional X 1Kb
Livre 2Kb
C 1Kb Livre 4Kb
X 1Kb
A 2Kb Livre 2Kb Sistemas Operacionais