Você está na página 1de 28

SISTEMAS OPERACIONAIS

SEMANA 2

Prof. Me.: Marcos Rodrigues


Carga Horária: 60 Horas/Aula
E-mail: marcos.rodrigues@ifrr.edu.br
GERÊNCIA DE MEMÓRIA

Uma das maiores preocupações dos projetistas sempre foi


desenvolver sistemas operacionais que não ocupassem muito
espaço de memória e, ao mesmo tempo, otimizassem a
utilização dos recursos computacionais.
Enquanto nos sistemas monoprogramáveis a gerência da
memória não é muito complexa, nos sistemas
multiprogramáveis essa gerência se toma crítica, devido à
necessidade de se maximizar o número de usuários e
aplicações utilizando eficientemente o espaço da memória
principal.
❑ Funções Básicas
✔ Organizar e disciplinar o compartilhamento da
memória pelos múltiplos processos em execução;
✔ Realizar a transferência temporária de processos
residentes na memória principal para a memória
secundária, liberando espaço para novos processos
(swapping);
✔ Dá proteção as áreas de memória ocupadas por cada
processo.
❑ Alocação Contígua Simples
✔ Tipo de organização de memória principal onde à
subdivisão em duas áreas: uma para o sistema
operacional e outra para o programa do usuário.
✔ Neste tipo de organização o usuário tem controle sobre
toda a memória principal. Para proteger o sistema de
acessos indevidos, alguns sistemas implementam
proteção através de um registrador que delimita áreas
do sistema operacional.
✔ Uma desvantagem neste tipo de organização é que
apesar da fácil implementação e do código reduzido, a
alocação contígua simples não permite a utilização
eficiente dos recursos computacionais, uma vez que
apenas um usuário pode dispor desses recursos.
❑ Técnica de Overlay
✔ Tipo de organização de memória principal onde à
divisão do programa em módulos, de forma que é
possível a execução independente de cada módulo,
utilizando uma mesma área de memória;
✔ Permite expandir os limites da memoria principal;
✔ As áreas de Overlay serão definidas pelo próprio
programador.
❑ Técnica de Overlay
❑ Alocação Particionada Estática / Fixa
✔ Tipo de organização de memória principal onde a
memória é dividida em pedaços de tamanho fixo,
chamados partições. Podendo ser absoluta ou
relocável.
Alocação Particionada Estática Absoluta
✔ Tipo de organização de memória principal onde todas
as referências a endereços no programa são posições
físicas na memória principal, ou seja, o programa só
poderia ser carregado a partir do endereço de memória
especificado no seu próprio código.
Alocação Particionada Estática Relocável
✔ Tipo de organização de memória principal onde todas
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.
✔ Para manter o controle sobre quais partições estão
alocadas. 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.
✔ Tanto nos sistemas de alocação absoluta quanto nos de
alocação relocável, os programas, normalmente, não
preenchem totalmente as partições onde são
carregados. Este tipo de problema, decorrente da
alocação fixa das partições, é conhecido como
fragmentação interna.
❑ Alocação Particionada Dinâmica
✔ Tipo de organização de memória principal onde cada
programa utiliza o espaço necessário, tornando essa
área sua partição. Eliminando assim, o conceito de
partições de tamanho fixo.
✔ Um problema neste tipo de organização é que quando
os programas forem terminando irão deixar espaços
cada vez menores na memória, não permitindo assim o
ingresso de novos programas. Esse tipo de problema é
chamado de fragmentação externa.
✔ Existem duas soluções para o problema da
fragmentação externa da memória principal. A
primeira é a união dos espaços livres adjacentes e a
segunda é a relocação de todas as partições
ocupadas, também conhecida como alocação
particionada dinâmica com relocação.

união dos espaços livres


adjacentes
alocação particionada dinâmica com relocação
❑ Estratégias de Alocação de Partição
✔ Os sistemas operacionais basicamente implementam,
três tipos de estratégias para determinar em qual área
livre um programa será carregado para execução.
✔ Independentemente do algoritmo utilizado, o sistema
possui uma lista de áreas livres, com o endereço e
tamanho de cada área.
Best-fit
✔ É escolhida a melhor partição, ou seja, aquela em que
o programa deixa o menor espaço sem utilização;
✔ Existe uma lista de áreas livres ordenada por tamanho;
✔ Uma grande desvantagem é que como é alocada a
partição que deixa a menor área livre, a tendência é
que cada vez mais a memória fique com pequenas
áreas não-contíguas.
Best-fit
Worst-fit
✔ É escolhida a pior partição, ou seja, aquela em que o
programa deixa o maior espaço sem utilização;
✔ Apesar de utilizar as maiores partições, a técnica deixa
espaços livres maiores que permitem a um maior
número de programas utilizar a memória.
Worst-fit
First-fit
✔ É escolhida a primeira partição livre de tamanho
suficiente para carregar o programa;
✔ Existe uma lista de áreas livres ordenada
crescentemente por endereços;
✔ Das três estratégias apresentadas é a mais rápida,
consumindo menos recursos do sistema.
First-fit
❑ Swapping
✔ Técnica aplicada à gerência de memória para
programas que esperam por memória livre para serem
executados.
✔ O sistema escolhe um processo residente, que é
transferido da memória principal para a memória
secundária (swap out). Posteriormente, o processo é
carregado de volta da memória secundária para a
memória principal (swap in) continuando sua
execução.
✔ O algoritmo de escolha do processo a ser retirado da
memória principal deve priorizar aquele com menores
chances de ser executado.
✔ Os processos retirados da memória estão geralmente
no estado de espera, mas existe a possibilidade de um
processo no estado de pronto também ser selecionado.
❑ Swapping
✔ Permite maior compartilhamento da memória principal
gerando uma maior utilização dos recursos do sistema
computacional.
✔ Seu maior problema é o elevado custo das operações
de entrada/saída (swap in/out). Onde em situações
criticas, quando há pouca memória disponível o
sistema pode ficar quase que dedicado à execução de
swapping.

Você também pode gostar