Você está na página 1de 27

Faculdade de Cincias, Cultura e Extenso do RN.

Sistemas Computacionais 2012.1


Prof. Xiankleber C. Benjamim Email: xianklebercb@gmail.com

Agenda
Gerncia de Memria Estudo de Caso

Gerncia de Memria
A memria um recurso importante que deve ser gerenciado com muito cuidado. Apesar de atualmente os computadores pessoais possurem milhares de vezes mais memria do que o IBM 7094 (o maior computador do mundo no incio dos anos 60), os programas crescem muito mais rapidamente do que as memrias.

Gerncia de Memria

Manter a memria em funcionamento as partes da memria que esto funcionando e as que no esto.

Gerncia de Memria

Os sistemas de gerenciamento de memria podem ser divididos em duas classes: sistemas que, durante a execuo levam e trazem processos entre a memria principal e o disco (troca de processos e paginao).

Gerenciamento de Memria
Tipos bsicos de gerenciamento:

Com paginao (chaveamento): Processos so movidos entre a memria principal e o disco; artifcio usado para resolver o problema da falta de memria; Se existe MP suficiente no h necessidade de se ter paginao; Sem paginao: no h chaveamento;

Gerenciamento de Memria
Monoprogramao:
Sem paginao: gerenciamento mais simples;

Apenas um processo na memria;


0xFFF...

S.O. ROM

DRIVERS

ROM

USURIO RAM USURIO S.O.


(a) 0 (b)

USURIO RAM S.O.


(c)

RAM

Gerenciamento de Memria
Modelo de Multiprogramao:

Multiprogramao: mltiplos processos sendo executados;eficincia da CPU; Processo: p (frao do tempo total gasto com E/S) N processos na memria: pn (probabilidade de todos estarem em E/S) Utilizao da UCP: 1- pn

Gerenciamento de Memria
Utilizao da CPU (%)

Grau de Multiprogramao

10

Gerenciamento de Memria

Exemplo: 1- pn
RAM com 1Mbytes: SO ocupa 200 Kbytes; Cada programa ocupa 200 Kbytes Se n=4 (programas na memria) E/S = 80% U 60%

11

Gerenciamento de Memria Swapping


Com parties fixas:

Swapping: chaveamento de processos entre a memria principal e o disco; Pode haver Swapping de duas maneiras:
Cada vez que um processo bloqueado, ele retirado dando o lugar a outro; No atrativo porque parties fixas tendem a desperdiar memria; Tamanho e nmero de parties variam com os processos; Otimiza a utilizao da memria mas complica a alocao e liberao da memria;

Com parties variveis:

Gerenciamento de Memria Swapping


Filas Mltiplas
partio 4 partio 3 400 k partio 2 partio 1 S.O. (a) 700 k

Diviso da Memria em Parties Fixas:

partio 4

Fila nica
...

partio 3

partio 2

200 k 100 k 0

partio 1 S.O. (b)


12

13

Gerenciamento de Memria Swapping


Parties fixas Qualquer espao no utilizado literalmente perdido; Filas mltiplas: Problema: filas no balanceadas; Fila nica: Melhor utilizao da memria, pois procura o melhor processo para a partio considerada; Problema: processos menores so prejudicados;

14

Gerenciamento de Memria Swapping


Proteo: com vrias parties e programas ocupando diferentes espaos da memria possvel acontecer um acesso indevido; Soluo para ambos os problemas:
2 registradores base e limite
Quando um processo escalonado o registrador base carregado com o endereo de incio da partio e o registrador limite com o tamanho da partio; Cada endereo de memria gerado automaticamente tem o contedo do registrador base adicionado; Endereos so comparados com o registrador limite para prevenir acessos indevidos;

Gerenciamento de Memria Swapping


Parties Variveis:
Tempo

C B A SO A SO B A

C B

C B

A D SO SO SO D SO D SO

(a)

(b)

(c)

(d)

(e)

(f)

(g)
15

Memria livre

16

Gerenciamento de Memria Swapping


Minimizar espao de memria inutilizados:
Compactao: necessria para recuperar os espaos perdidos por fragmentao; no entanto, muito custosa para a CPU;

Tcnicas para alocao dinmica de memria:


Bitmaps; Listas Encadeadas;

17

Gerenciamento de Memria Swapping

Tcnica com Bitmaps: Memria dividida em unidades de alocao em kbytes; Cada unidade corresponde a um bit no bitmap: 0 livre 1 ocupado Tamanho do bitmap depende do tamanho da unidade e do tamanho da memria Ex.:
unidades de alocao pequenas bitmap grande; unidade de alocao grande perda de espao

Gerenciamento de Memria Swapping


Tcnica com Bitmaps:
8 Memria 16

...

Bitmap

11111000 11111111 11001111 11111000

...

Memria livre

18

Gerenciamento de Memria Swapping


Tcnica com Listas Encadeadas:
Uma lista para os espaos vazios e outra para os espaos cheios, ou uma lista para ambos! espao segmento
comea com zero P 0 5 tamanho 5 H 5 3 P 8 6

.......

H 29 3

Processo

Hole (espao vazio)

tamanho 3

comea com 5

19

20

Gerenciamento de Memria Swapping


Algoritmos de Alocao quando um novo processo criado: FIRST FIT 1 segmento usado rpido, mas pode desperdiar memria por fragmentao; NEXT FIT idem, mas na prxima alocao inicia busca do ponto que parou anteriormente; possui desempenho inferior); BEST FIT procura na lista toda e aloca o espao que mais convm, com menor fragmentao; mais lento; WORST FIT aloca o maior espao disponvel; QUICK FIT mantm listas separadas para os espaos mais requisitados;

21

Gerenciamento de Memria Swapping


Cada algoritmo pode manter listas separadas para processos e para espaos livres:
Aumenta desempenho; Aumenta complexidade quando libera espao gerenciamento das listas: Espaos vazios espao ocupado anteriormente;

Desvantagem:
Fragmentao;

22

Gerenciamento de Memria Virtual


Programas maiores que a memria eram divididos em pedaos menores chamados overlays programador;
Desvantagem: custo muito alto;

Chaveamento desses pedaos entre a memria e o disco sistema operacional; Memria Virtual (MV): sistema operacional responsvel por dividir o programa em overlays; CPU possui uma unidade de gerncia de memria (MMU Memory Management Unit)

23

Gerenciamento de Memria Memria Virtual


Hierarquizao da memria:
2 nveis:
1 memria rpida, principal (RAM); 2 memria mais lenta, secundria (disco, por exemplo);

3 nveis:
0 um nvel adicional, memria pequena de velocidade muito alta CACHE

1 sistema com MV ATLAS Universidade Manchester, UK; Com MV existe a sensao de se ter mais memria do que realmente se tem (ou est disponvel);

24

Gerenciamento de Memria Virtual


Tcnicas de MV:
Paginao:
Blocos de tamanho fixo chamados de pginas; SO mantm uma fila de todas as pginas; Endereos Virtuais formam o espao de endereamento virtual; O espao de endereamento virtual dividido em pginas; Mapeamento entre endereos reais e virtuais;

Segmentao:
Blocos de tamanho arbitrrio;

25

Gerenciamento de Memria Virtual


Paginao:
Memria Principal e Memria Secundria so organizadas em pginas de mesmo tamanho; Pgina a unidade bsica para transferncia de informao que serve como parmetro para proteo; Tabela de pginas: responsvel por mapear pginas virtuais em molduras de pginas:
Funo: argumento de entrada nmero da pgina virtual; argumento de sada (resultado) nmero da moldura da pgina;

Problema com a Paginao Fragmentao; Problema adicional tamanho das pginas difcil de ser definido:
Shaw sugere 512 ou 1024 palavras;

Gerenciamento de Memria Virtual


Paginao: Mapeamento entre endereos reais e virtuais:
Espao de Endereos Virtuais Endereos Fsicos de Memria

2 1 X 0 X Moldura 3 X 28-32K X 0-4K

0-4K

12-16K
Pgina Virtual Moldura de Pgina

Como se tem apenas 04 molduras de pginas, somente 04 pginas virtuais podem ser mapeadas;
26

Estudo de Caso 1

Grupo de 4 Pessoas
No linux meu swapping de 8g e minha memria ram de 4g, necessrio ter 8g?Explique. Porque no Windows temos que ter igual ou dobro de memria ram que temos no pc?

Você também pode gostar