Sunteți pe pagina 1din 43

Campus: Jequi

Sistemas Operacionais

02/05/2012

02/05/2012

1 1

Gerncia de Memria

02/05/2012

02/05/2012

Gerncia de Memria Introduo

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

02/05/2012

02/05/2012

Gerncia de Memria Introduo

Sistema operacional deve:


controlar quais regies de memria so utilizadas e por qual processo; decidir qual processo deve ser carregado para a memria, quando houver espao disponvel; alocar e desalocar espao 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.

02/05/2012

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria
Programa em Ling. de Alto Nvel

Execuo de um Programa (1)

Compilador *Linkeditor: Programa que rene mdulos compilados e arquivos de dados para criar um programa executvel. Os linkeditores tem tambm outras funes, como a criao de bibliotecas.

Programa em Ling. de Montagem

Montador

Objeto: rotinas de bibliotecas (em ling de mquina)

Objeto: mdulo em ling de mquina

Linkeditor*
Executvel: programa em ling de mquina 02/05/2012

Carregador

Memria

Gerncia de Memria

Execuo de um Programa (2)


Executvel: programa em ling de mquina

Espao de Endereamento Lgico

Cdigo absoluto: - Endereos relativos ao incio da memria (endereos reais) - Programas exclusivos para parties especficas na memria
02/05/2012

Cdigo relocvel: - O programa pode ser carregado em qualquer posio da memria. - Deve haver uma traduo de endereos (ou relocao de endereos)
6

Gerncia de Memria
Cdigo absoluto Carregador absoluto
No realiza correo de endereos no momento da carga do programa em memria.

Cdigo executvel absoluto no necessita manter tabelas de endereos a serem corrigidos. Endereo de carga
Fixo pelo programa (programador). Qualquer.
Correo pode ser feita automaticamente, de forma transparente, a partir de registradores de base

02/05/2012

Gerncia de Memria
Cdigo relocvel
Carregador relocador
Correo de todas as referncias a memria de forma a corresponder ao endereo de carga do programa.

Necessidade de identificar quais endereos devem ser corrigidos


Cdigo relocvel. Mapeamento das posies a serem corrigidas mantida atravs de tabelas.

Cdigo executvel mantm informaes de relocao na forma de tabelas.


No momento da carga o programa executvel interpretado e os endereos corrigidos.
02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Execuo de um Programa (3)

Relocao de Endereos

Esttica

O Loader (em tempo de carga) reloca os endereos das instrues relocvies (ex: JMP endx) Em tempo de execuo O processo pode ser movimentado dentro da memria fsica Um hardware especial deve estar disponvel para que funcione (MMU)
9

Dinmica

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Execuo de um Programa (4)

Relocao de Endereos (cont.)

Executvel: programa em ling de mquina

Espao de Endereamento Lgico

Traduo

Espao de Endereamento Fsico - Conjunto de endereos reais

02/05/2012

10

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Gerncia de Memria Memria Lgica - aquela que o processo enxerga, o processo capaz de acessar. Memria Fsica - aquela implementada pelos circuitos integrados de memria, pela eletrnica do computador (memria real)
CPU
02/05/2012

Endereo lgico

Gerenciador Endereo de Memria fsico

Memria

11

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Tcnicas de Gerncia de Memria Real

Alocao Contgua Simples Alocao Particionada

Parties Fixas

Alocao Particionada Esttica;

Parties Variveis

Alocao Particionada Dinmica.


12

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Contgua Simples (1)

Alocao implementada nos primeiros sistemas e ainda usada nos monoprogramveis; A Memria dividida em duas reas:

Memria principal
Sistema Operacional

rea do Sistema Operacional rea do Usurio


rea de Programas do usurio

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

Um usurio pode acessar a rea do Sistema Operacional.

02/05/2012

13

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Contgua Simples (2)


Memria principal

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

Sistema Operacional

rea de Programas do usurio

02/05/2012

14

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Contgua Simples (3)

Memria principal
Sistema Operacional rea do Mdulo Principal

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; rea de memria comum onde mdulos compartilham mesmo espao.

rea de Overlay

rea de Overlay

C
15

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Contgua Simples (4)

02/05/2012

16

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

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.

02/05/2012

17

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (1)

Parties fixas

Tamanho fixo ; nmero de parties fixo

a) Alocao Particionada Esttica Absoluta:

Compiladores gerando cdigo absoluto; Programas exclusivos para parties especficas. Simples de gerenciar E se todos os processos s pudessem ser executados em uma mesma partio (mesmo endereo base?)

b) Alocao Particionada Esttica Relocvel:

Compiladores gerando cdigo relocvel;

Programas podem rodar em qualquer partio.

Endereos relativos ao incio da partio;


18

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (2)

Proteo:

Memria principal
Reg. de Relocao Reg Limite

Registradores com limites inferior e superior de memria acessvel.

Sistema Operacional Partio A

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

Partio B Partio C

02/05/2012

19

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (3)

02/05/2012

20

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (4)


No princpio, os programas s podiam ser executados em uma das parties, mesmo que outras estivessem disponveis. Essa limitao era devido aos compiladores utilizados na poca, que geravam cdigos absolutos. Este tipo de alocao recebeu o nome de alocao particionada esttica absoluta.

02/05/2012

21

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (5)

02/05/2012

22

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (6)


Com a evoluo dos compiladores, linkers e loadres, a gerao de cdigo relocvel foi possvel e os programas puderam ser carregados em qualquer partio.

A esse novo tipo de alocao deu-se o nome de alocao particionada esttica relocvel.

02/05/2012

23

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (7)

02/05/2012

24

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (8)

Para manter o controle sobre quais as parties estavam alocadas ou no, os sistemas possuam uma tabela delimitando cada partio, seu tamanho e se estava em uso ou no.

02/05/2012

25

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Esttica (9)

02/05/2012

26

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Dinmica (1)

No existe realmente o conceito de partio dinmica.

Memria principal
Sistema Operacional

O espao utilizado por um programa a sua partio.


o tamanho da memria alocada igual ao tamanho do programa

No ocorre fragmentao interna.

Processo A
Processo C Processo F Processo E

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

os fragmentos so pequenos demais para serem reaproveitados


27

02/05/2012

Gerncia de Memria Alocao Particionada Dinmica (2)


Sistema Operacional Sistema Operacional A B C D rea livre 1KB
A - 2 kB B - 4 kB D- 3 kB

Sistema Operacional A rea livre 4KB C rea livre 4KB

REA LIVRE

11 KB

C - 1 kB
02/05/2012

E - 6 kB

?
28

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Dinmica (3)

Solues:

Memria principal
Sistema Operacional

Reunio dos espaos contguos. Realocar todas as parties ocupadas eliminando espaos entre elas e criando uma nica rea livre contgua-> Relocao Dinmica de endereos:

Processo A

Movimentao dos programas pela memria principal. Resolve o problema da fragmentao. Consome recursos do sistema

Processo F Processo E

Processador, disco, etc.

02/05/2012

29

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Dinmica (4)

A multiprogramao implica em um problema

Ao mudar de partio o programa necessita ser relocado

Relocao implica em correo de endereos de instrues


Via software (mapa de correes) Via hardware (reg. base e limite)

Proteo

No correo ou correo errada implica em acesso a outra partio

02/05/2012

30

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Dinmica (5)

Definio do tamanho das parties pode ser difcil

Processos crescem quando em execuo bom definir reas extras para dados e pilhas

Como gerenciar as parties alocveis de memria


Mapamento de bits Mapeamento da Memria com listas encadeadas


31

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Alocao Particionada Dinmica (6)

02/05/2012

32

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Mapa de bits

Usado para o gerenciamento com alocao dinmica Memria dividida em unidades de alocao

De algumas palavras a vrios kilobytes


Qto menor maior o mapa de bits Qto maior desperdio na ltima unidade

A cada unidade associado um bit que descreve a disponibilidade da unidade


Disponvel = 0 Ocupada = 1 Busca de k zeros consecutivos para alocao de k unidades Raramente utilizado atualmente.

Principal problema

muito lenta
33

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Mapeamento da Memria com lista encadeada

Tambm usado para gerenciar a alocao dinmica. Lista ligada de segmentos alocados ou livres Um segmento uma rea de memria alocada ou livre Cada elemento da lista indica

Estado do segmento (P) Alocado por um processo ou (H) Livre Unidade em que inicia Tamanho em unidades

Lista duplamente encadeada facilita de concatenao de segmenos Lista ordenada por endereo permite vrios algoritmos de alocao
P: Processo H: Hole (buraco)

02/05/2012

Header

P/H incio tamanho

P/H incio tamanho


34

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Mapeamento da Memria com lista encadeada

02/05/2012

35

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Mapeamento da Memria com lista encadeada


Header

P 0 100

H 100 200

P 300 50

H 350 400

P 750 50

H 800 50

A: 190
Header

P 0 100
P 100 190

P 300 50
H 290 10 P 300 50

H 350 400

P 750 50

H 800 50

Header

P 0 100

H 100 200

P 750 50

H 800 50

B: 250

P 350 250

H 600 150

02/05/2012

36

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

A escolha da partio ideal (1)

Existem 4 maneiras de percorrer a lista de espaos livre atrs de uma lacuna de tamanho suficiente, so eles:

Best-fit (utiliza a lacuna que resultar a menor sobra)

Espao mais prximo do tamanho do processo; Tempo de busca grande; Provoca fragmentao. Escolhe o maior espao possvel; Tempo de busca grande; No apresenta bons resultados.

Worst-Fit (utiliza a lacuna que resultar na maior sobra):

02/05/2012

37

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

A escolha da partio ideal (2)

First-Fit (primeira alocao):

utiliza a primeira lacuna que encontrar com tamanho suficiente Melhor performance.

Circular-fit ou Next-Fit (prxima alocao):

como first-fit mas inicia a procura na lacuna seguinte a ltima sobra Performance inferior ao First-Fit.

02/05/2012

38

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

A escolha da partio ideal (3)

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

02/05/2012

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Algoritmos de Substituio de Pginas (1)


O maior problema na gerncia de memria virtual por paginao no decidir quais pginas carregar para a memria real, mas sim quais pginas liberar.

Quando h a necessidade de carregar uma pgina, o sistema deve selecionar entre as diversas pginas alocadas na memria qual delas dever ser liberada pelo processo.

02/05/2012

40

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Algoritmos de Substituio de Pginas (2)


Os algoritmos de substituio de pginas so polticas definidas para escolher qual(is) pgina(s) da memria dar lugar a pgina que foi solicitada e que precisa ser carregada. Isso necessrio quando no h espao disponvel para armazenar a nova pgina.

02/05/2012

41

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Algoritmos de Substituio de Pginas (3)

Os algoritmos de substituio de pginas tm o objetivo de selecionar os frames que tenham as menores chances de serem referenciados num futuro prximo. Caso contrrio, o frame poderia retornar diversas vezes para a memria real, provocando excesso de page faults.

02/05/2012

42

http://www.inf.ufes.br/~rgomes/so.htm

Gerncia de Memria

Referncias

A. S. Tanenbaum, ''Sistemas Operacionais Modernos'', 2a. Edio, Editora Prentice-Hall, 2003. Silberschatz A. G.; Galvin P. B.; Gagne G.; ''Fundamentos de Sistemas Operacionais'', 6a. Edio, Editora LTC, 2004. Deitel H. M.; Deitel P. J.; Choffnes D. R.; Sistemas Operacionais, 3. Edio, Editora Prentice-Hall, 2005.

02/05/2012

43

S-ar putea să vă placă și