Você está na página 1de 19

Gerncia de Memria

Ernesto Massa

Memria

Consideraes:
Recurso caro e escasso; Programas s executam se estiverem na memria principal; Quanto mais processos residentes na memria principal, melhor ser o compartilhamento do processador; Necessidade de uso otimizado; O S.O. no deve ocupar muita memria; um dos fatores mais importantes em um projeto de S.O..

Gerenciamento de Memria

Algumas funes do Gerenciador de memria:


Controlar quais as unidades de memria esto ou no esto em uso, para que sejam alocadas quando necessrio; Liberar as unidades de memria que foram desocupadas por um processo que finalizou; Tratar do Swapping entre memria principal e memria secundria.
Transferncia temporria de processos residentes na memria principal para memria secundria.

Gerenciamento de Memria

Tcnicas de Alocao de Memria:


Alocao Contgua Simples; Alocao Particionada Esttica;
Alocao Particionada Esttica Absoluta; Alocao Particionada Esttica Relocvel;

Alocao Particionada Dinmica.

Alocao Contgua Simples

Alocao implementada nos primeiros sistemas e ainda usada nos monoprogramveis; A Memria dividida em duas reas:
rea do Sistema Operacional rea do Usurio

Memria principal
Sistema Operacional

Um usurio no pode usar uma rea maior do que a disponvel; Sem proteo:
Um usurio pode acessar a rea do Sistema Operacional.

rea de Programas do usurio

Alocao Contgua Simples

Memria principal Registrador de proteo delimita as reas do sistema operacional e Sistema do usurio; Operacional Reg Sistema verifica acessos memria em relao ao endereo do registrador; rea de Programas A forma de alocao era simples, do usurio mas no permitia utilizao eficiente de processador e memria;

Alocao Contgua Simples

Programas de usurio limitados pelo tamanho da memria principal disponvel. Soluo: Overlay
Dividir o programa em mdulos; Permitir execuo independente de cada mdulo, usando a mesma rea de memria;

Memria principal
Sistema Operacional rea do Mdulo Principal rea de Overlay

rea de Overlay
rea de memria comum onde mdulos compartilham mesmo espao.

Alocao Particionada

Multiprogramao.
Necessidade do uso da memria por vrios usurios simultaneamente.

Ocupao mais eficiente do processador; A memria foi dividida em pedaos de tamanho fixo chamados parties; O tamanho de cada partio era estabelecido na inicializao do sistema; Para alterao do particionamento, era necessrio uma nova inicializao com uma nova configurao.

Alocao Particionada Esttica

Alocao Particionada Esttica Absoluta:


Compiladores gerando cdigo absoluto;
Endereos relativos ao incio da memria;

Programas exclusivos para parties especficas.

Alocao Particionada Esttica Relocvel:


Compiladores gerando cdigo relocvel;
Endereos relativos ao incio da partio;

Programas podem rodar em qualquer partio.

Alocao Particionada Esttica

Proteo:
Registradores com limites inferior e superior de memria acessvel.
Reg

Memria principal
Sistema Operacional Partio A Partio B Partio C

Programas no ocupam totalmente o espao das parties, gerando uma fragmentao interna.

Reg

Alocao Particionada Dinmica

No existe o conceito de partio dinmica.


O espao utilizado por um programa a sua partio.

Memria principal
Sistema Operacional Processo A Processo C Processo F Processo E

No ocorre fragmentao interna. Ao terminarem, os programas deixam espalhados espaos pequenos de memria, provocando a fragmentao externa.

Alocao Particionada Dinmica

Solues:
Reunio dos espaos contguos. Relocao Dinmica:
Movimentao dos programas pela memria principal. Resolve o problema da fragmentao. Consome recursos do sistema
Processador, disco, etc.

Memria principal
Sistema Operacional Processo A

Processo F Processo E

Gerncia de Memria

Mapeamento de bits:
Cada bit representa uma unidade de alocao; Raramente utilizado atualmente.
muito lenta.

Mapeamento da Memria com listas ligadas:


P: Processo B: Buraco

Header

P/B incio tamanho

P/B incio tamanho

Gerncia de Memria

Mapeamento da Memria com listas ligadas:


Best-Fit (melhor alocao):
Espao mais prximo do tamanho do processo; Tempo de busca grande; Provoca fragmentao.

Worst-Fit (pior alocao):


Cria o maior espao possvel; Tempo de busca grande; No apresenta bons resultados.

First-Fit (primeira alocao):


Melhor performance.

Next-Fit (proxima alocao):


Performance inferior ao First-Fit.

Gerncia de Memria

Consideraes sobre Mapeamento da Memria com listas ligadas :


Todos melhoram em performance se existirem listas distintas para processos e espaos, embora o algoritmo fique mais complexo. Listas ordenadas por tamanho de espao melhoram a performance.

Swapping

Os processos ficavam na memria principal, mesmo se bloqueados pela espera de algum evento. Soluo: Swapping.
Tcnica para resolver problema de processos que aguardam por espao livre adequado; Processos no ficam mais na memria o tempo todo.

Swapping

Um processo residente na memria levado para o disco (Swapped-Out), dando lugar a outro; O processo Swapped-Out retorna memria (Swapped-In), sem perceber o que ocorreu.
Sistema Operacional programa A programa B programa E programa G

Memria principal Swap Out

Sistema Operacional programa A

Swap In B

programa H programa E
programa A

programa B

Swapping
Problema

gerado pelo Swapping:

Relocao de processos:
O tempo gasto com relocao alto; Um mesmo processo sendo Swapped-Out repetidas vezes gera um alto consumo de CPU.

Swapping

Vantagens da tcnica de Swapping:


Permite maior compartilhamento da memria; Aumento no Throughput (quantidade de processos executados por unidade de tempo);

Eficiente para sistemas com poucos usurios e pequenas aplicaes; Problema:


custo do Swapping (in/out).

Você também pode gostar