Você está na página 1de 30

Alunos:

Cristian;
Rodrigo;
Tiago.

A memria principal sempre foi vista como um


recurso escasso e caro.
Preocupaes dos projetistas foi desenvolver
S.O. que no ocupassem muito espao de
memria e, ao mesmo tempo, otimizassem a
utilizao dos recursos computacionais.
Sistemas monoprogramveis a gerncia da
memria no muito complexa.
Sistemas multiprogramveis ela se torna crtica,
devido necessidade de se maximizar o nmero
de usurios e aplicaes utilizando
eficientemente o espao da memria principal.

Reduzir o nmero de operaes de E/S


memria secundria.
Processador executa somente processos
residente na memria principal.
Manter na memria principal o maior
nmero de processos residentes.
Mesmo na ausncia de espao livre, o sistema
deve permitir que novos processos sejam
aceitos e executados.

Permitir a execuo de programas maiores


que a memria fsica disponvel.
Implementada atravs de overlay e memria
virtual.
Proteger as reas de memria ocupadas por
cada processo.

Implementada nos primeiros sistemas


operacionais.
Ainda presente em alguns sistemas
monoprogramveis.
Memria principal dividida em 2 reas:(fig.1)
Um para o S.O.;
Outra para o programa usurio;
Programador deve desenvolver suas aplicaes,
preocupado, apenas, em no ultrapassar o
espao de memria disponvel=Tamanho total
da memria principal menos rea ocupada pelo
S.O.

Usurio tem controle sobre toda a memria


principal, podendo ter acesso a qualquer posio da
memria, inclusive a rea do S.O..
Necessidade de proteger o sistema deste tipo de
acesso:
Uso de registradores para delimitar as reas do
sistema operacional do usurio. (fig.2)
Sempre que um programa faz referncia a um
endereo na memria, o sistema verifica se o
endereo est dentro dos limites permitidos.

Se programa esteja fora do limite permitido,


o programa cancelado e uma mensagem de
erro gerada, indicando que houve um
violao ao sistema.
Em relao memria principal, caso o
programa do usurio no a preencha
totalmente, existir um espao de memria
livre sem utilizao. (fig. 3)

Vantagens:
Fcil implementao;
Cdigo reduzido;

Desvantagens:
No permite uso eficiente do recurso;
Apenas um usurio pode dispor desses
recursos.

Figura 1

Figura 2

Figura 3

Na alocao contgua simples todos os


programas esto limitados ao tamanho da
rea de memria principal disponvel para o
usurio.
Soluo:
Dividir o programa em mdulos, de forma
que seja possvel a execuo independente de
cada mdulo, utilizando uma rea de
memria. Essa tcnica chamada de tcnica
overlay.

A definio das reas de overlay funo do


programador, atravs de comandos
especficos da linguagem de programao
utilizada.
O tamanho de uma rea de overlay
estabelecido a partir do tamanho do maior
mdulo.

Exemplo:
Se o mdulo de cadastramento tem 4 kb e o
mdulo de impresso 2kb, a rea de overlay
dever ter tamanho do maior mdulo, logo
4Kb.

Vantagem:
A tcnica de overlay tem a vantagem de permitir
ao programador expandir os limites da memria
principal.

Desvantagem:
A utilizao dessa tcnica exige muito cuidado;
Implicaes na manuteno, quanto no
desempenho das aplicaes, devido
possibilidade de transferncia excessiva dos
mdulos entre a memria principal e a secundria.

Com a evoluo dos sistemas operacionais foi


necessrio que novas formas de gerncia de
memria fossem implementadas.

-Alocao Particionada Esttica.


-Alocao particionada esttica absoluta.
-Alocao particionada esttica relocvel.

Nos primeiros sistemas multiprogramveis, a


memria era dividida em pedaos de tamanho
fixo, chamados parties.
O tamanho das parties, estabelecido na fase
de inicializao do sistema, era definido em
funo do tamanho dos programas que
executariam no ambiente.
Sempre que fosse necessria a alterao do
tamanho de uma partio, o sistema deveria ser
desativado e reinicializado com uma nova
configurao.

Inicialmente, os programas s podiam ser


carregados e executados em apenas uma
partio especfica. Essa limitao se devia
aos compiladores e montadores que geravam
apenas cdigo absoluto.
Ou seja, o programa s poderia ser carregado
a partir do endereo de memria especificado
no seu prprio cdigo.

Com a evoluo dos compiladores,


montadores, linkers e loaders, o cdigo
gerado deixou de ser absoluto e passou a ser
relocvel.
Desta forma, os programas puderam ser
executados a partir de qualquer partio.
Quando o programa carregado, o loader
calcula todos os endereos a partir da posio
inicial onde o programa foi alocado.

Para manter o controle sobre quais parties


esto alocadas, a gerncia de memria
mantm uma tabela com o endereo inicial
de cada partio, seu tamanho e se est em
uso.
Sempre que um programa carregado para a
memria,o sistema percorre a tabela, na
tentativa de localizar uma partio livre onde
o programa possa ser carregado.

Nesse esquema a alocao de memria a


proteo baseia-se em dois registradores,
que indicam os limites inferior e superior da
partio onde o programa est sendo
executado.
Caso o programa tente acessar uma posio
de memria fora dos limites definidos pelos
registradores, ele interrompido e uma
mensagem de violao de acesso gerada
pelo sistema operacional.

A alocao particionada esttica, analisada


anteriormente, mostrou a necessidade de
uma nova forma de gerncia de memria
principal, em que o problema da
fragmentao interna fosse reduzido e,
consequentemente, o grau de
compartilhamento da memria aumentado.
Cada programa utilizaria o espao necessrio,
tornando essa rea sua partio.

Fragmentao externa.
Relocao dinmica.
Alocao particionada dinmica com
relocao.
Eliminado o conceito de parties de
tamanho fixo.
Como os programas utilizam apenas o espao
de que necessitam, no esquema de alocao
particionada dinmica o problema da
fragmentao interna no ocorre.

Diferente tipo de fragmentao comear a


ocorrer, quando os programas forem
terminando e deixando espaos cada vez
menores na memria, no permitindo o
ingresso de novos programas:
Existe 2 solues;
1 soluo:conforme os programas terminam
apenas os espaos livres adjacentes so
reunidos, produzindo reas livres de tamanho
maior.

2 soluo envolve a relocao de todas as


parties ocupadas, eliminando todos os
espaos entre elas e criando uma nica rea
livre contgua. Para essa soluo seja possvel
necessrio que o sistema tenha a
capacidade de mover os diversos programas
na memria principal ou seja Alocao
Particionada Dinmica com relocao

Para implementar a segunda soluo necessrio:


Capacidade de mover os diversos programas na
memria principal, ou seja, realizar relocao
dinmica.
Vantagens:
Reduz em muito o problema da fragmentao;
Desvantagens:
Complexidade do seu algoritmo;
Consumo de recursos do sistema, como processador
e rea de disco.
Tais desvantagens podem tornar o projeto invivel

Os sistemas operacionais implementam,


basicamente, trs estratgias para
determinar em qual rea livre um programa
ser carregado para execuo. Essas
estratgias tentam evitar ou diminuir o
problema da fragmentao externa.

Best-fit:A melhor partio escolhida, ou


seja, aquela em que o programa deixa o
menor espao sem utilizao.
Worst-fit:Neste algoritmo, a pior partio
escolhida, ou seja, aquela em que o programa
deixa o maior espao sem utilizao.
First-fit:Nesta estratgia, a primeira partio
livre de tamanho suficiente para carregar o
programa escolhida.

Tcnica aplicada gerncia de memria para


programas que esperam por memria livre para
serem executados.
Apesar da eficincia da multiprogramao e da
gerncia de memria, muitas vezes um
programa no poderia ser executado
por falta de uma partio livre disponvel.
A tcnica de swapping foi introduzida para
contornar o problema da insuficincia de
memria principal.

Sistema escolhe um processo residente, que


transferido da memria principal para a
memria secundria (swap out), geralmente o
disco
Depois, este processo carregado de volta da
memria secundria para a memria principal
(swap in) e poder continuar a execuo.
Priorizar aquele com menores chances de ser
executado para evitar o swapping desnecessrio
de um processo que ser executado logo em
seguida.

Processos retirados da memria esto


geralmente no estado de espera, mas existe a
possibilidade de um processo no estado de
pronto tambm ser selecionado.
Essencial que o sistema oferea um loader que
implemente a relocao dinmica de programas.
Um programa pode sair e voltar diversas vezes
para a memria, sendo necessrio que a
relocao seja realizada pelo loader a cada
carregamento.

A relocao dinmica realizada atravs de um


registrador especial denominado registrador de
relocao.
No momento em que o programa carregado
na memria, o registrador recebe o endereo
inicial da posio de memria que o programa
ir ocupar.
O endereo contido na instruo ser somado
ao contedo do registrador, gerando
o endereo fsico.

Você também pode gostar