Anda di halaman 1dari 41

Gerncia de

Memria
Prof: Vana Carvalho

Roteiro
Introduo
Alocao Contgua Simples
Tcnica de Overlay
Alocao Particionada
Estratgias de Alocao de Partio
Swapping

Introduo
Os programas so armazenados
secundria no voltil.

em

memria

Os processadores s executam instrues localizadas


na memria principal.
Gerenciar memria deve buscar manter um maior
nmero de processos na memria principal.

Introduo
Gerncia de Memria permitir a execuo de
programas que sejam maiores que a memria fsica
disponvel overlay e memria virtual.

Alocao Contgua Simples


Implementada
operacionais .

pelos

primeiros

sistemas

Memria principal subdividida em duas reas: uma


para sistema operacional e outra para o programa do
usurio.

Alocao Contgua Simples


O usurio tem controle sobre toda a memria principal,
inclusive sobre a rea do sistema operacional.
Como evitar este problema?
Um programa faz referncia a um endereo na memria,
o sistema verifica se o endereo est dentro dos limites
permitidos.
Caso no esteja, o programa cancelado e uma
mensagem de erro gerada, indicando que houve uma
violao no acesso memria principal.

Alocao Contgua Simples


Qual o problema da alocao contgua simples?
Em relao memria principal, caso o programa do
usurio no a preencha totalmente, existir um
espao de memria livre sem utilizao.

Tcnica de Overlay
Divide o programa em mdulos, de modo que seja
possvel executar cada mdulo de maneira
independente, utilizando um mesmo espao da
memria.

Tcnica de Overlay
Considere um programa que tenha trs mdulos:
Um principal;
Um de cadastramento;
Um de impresso, sendo os mdulos de cadastramento e de
impresso independentes.

A independncia do cdigo significa que quando um mdulo estiver


na memria para execuo, o outro no precisa necessariamente
estar presente.
O mdulo principal comum aos dois mdulos; logo, deve
permanecer na memria durante todo o tempo da execuo do
programa.

Tcnica de Overlay
A memria
programa.

insuficiente para armazenar todo o

A tcnica de overlay utiliza uma rea de memria


comum, onde os mdulos de cadastramento e de
impresso podero compartilhar a mesma rea de
memria (rea de overlay).
Sempre que um dos dois mdulos for referenciado
pelo mdulo principal, o mdulo ser carregado da
memria secundria para a rea de overlay.

Tcnica de Overlay

Alocao Particionada
Sistemas multiprogramveis permitem que diversos
processos estejam na memria principal, por esta
razo faz-se necessrios mecanismos que realizem a
eficientemente a gerncia da memria.

Alocao Particionada Esttica


Nos primeiros sistemas multiprogramveis a memria
era dividida em pedaos de tamanho fixo parties.
O tamanho das parties estabelecido na fase de
inicializao do sistema.
Os programas s poderiam ser
executados em apenas uma partio.

carregados

Essa limitao devia-se ao fato dos compiladores


gerarem um cdigo absoluto.

Alocao Particionada Esttica


No cdigo absoluto todas as referncias a endereos
no programa so posies fsicas na memria
principal.

Alocao Particionada Esttica


Realocvel
Com evoluo dos compiladores o cdigo gerado
deixou de ser absoluto e passou a ser realocvel.
No cdigo realocvel, todas as
referncias a
endereos no programa so relativas ao incio do
cdigo e no a endereos fsicos de memria.
Os programas podem assim ser executados a partir
de qualquer partio.

Alocao Particionada Esttica


Realocvel
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.

Alocao Particionada Esttica


Realocvel

Alocao Particionada Esttica


Realocvel
Nesse esquema de alocao de memria, a proteo
baseia-se em dois registradores.
Os registradores 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.

Alocao Particionada Esttica


Realocvel

Alocao Particionada Esttica


Realocvel
Qual o grande problema dos sistemas de alocao
absoluta e alocao realocvel?
Tanto nos sistemas de alocao absoluta quanto nos
de alocao realocvel, os programas, normalmente,
no preenchem totalmente as parties onde so
carregados deixando reas livres.
Este tipo de problema, decorrente da alocao fixa
das parties, conhecido como fragmentao
interna.

Alocao Particionada Dinmica


Na alocao particionada dinmica ou varivel, foi
eliminado o conceito de parties de tamanho fixo.
Cada programa utilizar o espao necessrio.
Como os programas utilizam apenas o espao de que
necessitam, no esquema de alocao particionada
dinmica o problema da fragmentao interna no
ocorre.

Alocao Particionada Dinmica

Alocao Particionada Dinmica


O problema da fragmentao interna est resolvido.
Porm surge um novo problema.
?

Alocao Particionada Dinmica


Um tipo diferente 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.

Alocao Particionada Dinmica

Alocao Particionada Dinmica


Esse tipo de problema chamado
externa.

fragmentao

Qual a soluo?
A primeira soluo, conforme os programas
terminam, os espaos livres adjacentes so reunidos,
produzindo reas livres de tamanho maior.

Alocao Particionada Dinmica

Alocao Particionada Dinmica


A segunda soluo envolve a realocao de todas
as parties ocupadas, eliminando todos os espaos
entre elas e criando uma nica rea livre contigua.
Para que esse processo seja possvel, necessrio
que o sistema tenha a capacidade de mover os
diversos programas na memria principal, ou seja,
realizar realocao dinmica.

Alocao Particionada Dinmica

Alocao Particionada Dinmica


Esse
mecanismo
de
compactao,
tambm
conhecido como alocao particionada dinmica com
realocao, reduz o problema da fragmentao.
Porm a complexidade do algoritmo e o consumo de
recursos do sistema como processador e rea em
disco, podem torn-lo invivel.

Estratgias de Alocao de
Partio
Os sistemas operacionais
implementam trs
estratgias para determinar em qual rea livre um
programa ser carregado para execuo.
Essas estratgias buscam evitar ou diminuir o
problema da fragmentao externa
A melhor estratgia a ser adotada por um sistema
depende de uma srie de fatores. Sendo o mais
importante o tamanho dos programas processados
no ambiente.

Estratgias de Alocao de
Partio
Best Fit
Na estratgia best-fit, a melhor partio escolhida, ou seja,
aquela em que o programa deixa o menor espao sem utilizao.
Nesse algoritmo, a lista de reas livres est ordenada por
tamanho, diminuindo o tempo de busca por uma rea desocupada.
Uma grande desvantagem desse mtodo consequncia do
prprio algoritmo.
Qual a desvantagem?
Como alocada a partio que deixa a menor rea livre, a
tendncia que cada vez mais a memria fique com pequenas
reas no-contguas, aumentando o problema da fragmentao.

Estratgias de Alocao de
Partio
Best Fit

Estratgias de Alocao de
Partio
Worst Fit
Na estratgia worst-fit, a pior partio escolhida,
ou seja, aquela em que o programa deixa o maior
espao sem utilizao.
Apesar de utilizar as maiores parties, a tcnica
de worst-fit deixa espaos livres maiores que
permitem a um maior nmero de programas
utilizar a memria, diminuindo o problema da
fragmentao.

Estratgias de Alocao de
Partio
Worst Fit

Estratgias de Alocao de
Partio
First-fit
Na estratgia first-fit, a primeira partio livre de
tamanho suficiente escolhida.
Das trs estratgias first-fit a mais rpida,
consumindo menos recursos do sistema.

Estratgias de Alocao de
Partio
First Fit

Swapping
A tcnica de swapping foi introduzida para contornar o problema
da insuficincia de memria principal.
O swapping uma tcnica aplicada gerncia de memria para
programas que esperam por memria livre para serem executados.
Nesta situao, o sistema escolhe um processo residente, que
transferido da memria principal para a memria secundria
(swap out).
Posteriormente, o processo carregado de volta da memria
secundria para a memria principal (swap in) e pode continuar
sua execuo.

Swapping
O algoritmo de escolha do processo a ser retirado da
memria principal deve priorizar aquele com
menores chances de ser executado.
O
conceito
de
swapping
permite
maior
compartilhamento da memria principal e maior
utilizao dos recursos do sistema computacional

FIM
Prof: Vana Carvalho

Anda mungkin juga menyukai