ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas...

22
Machado/Maia – complem. por Sidney Lucena (UN 9/1 Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Operacionais Francis Berenger Machado Francis Berenger Machado Luiz Paulo Maia Luiz Paulo Maia Complementado por Sidney Lucena (Prof. Complementado por Sidney Lucena (Prof. UNIRIO) UNIRIO) Capítulo 9 Capítulo 9 Gerência de Memória Gerência de Memória

Transcript of ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas...

Page 1: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/1

Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais

Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia

Complementado por Sidney Lucena (Prof. UNIRIO)Complementado por Sidney Lucena (Prof. UNIRIO)

Capítulo 9Capítulo 9Gerência de MemóriaGerência de Memória

Page 2: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/2

Conceitos Básicos

• Funções Básicas da Gerência de Memória:

– manter o maior número possível de processos em memória, maximizando o compartilhamento da CPU e demais recursos;

– maximizar o compartilhamento de espaço da memória;

– executar programas com requisitos de memória além da capacidade física da RAM;

– proteção das áreas de memória ocupadas por cada processo.

Page 3: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/3

Alocação Contígua Simples

M em ór ia Pr in cip a l

Sistem aO peracion a l

Á rea p a rap rog ram a

• Maneira mais simples: alocação contígua da memória.

• Registrador delimita as áreas do Sist. Op. e do usuário (proteção).

• Uso ineficiente do espaço, somente um usuário ocupando-o.

Page 4: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/4

Alocação Contígua Simples

M em ór ia Pr in cip a l

Reg istrad o rSistem a

O peracion a l

Á rea p a rap rog ram a

M em ór ia Pr in cip a l

Sistem aO peracion a l

Program ad o u su á r io

Á rea l ivre

Page 5: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/5AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

Técnica de Overlay • A técnica de overlay permite que módulos independentes de

um mesmo programa sejam carregados numa mesma área de memória em momentos diferentes.

• Áreas de overlay definidas pelo programador.

• Expande limites da memória principal.

• Não possui compartilhamento por usuário.

M em ória Pr in cip a l

C ad astra m en to

Im pressão

Sistem a O p eracion a l2 Kb

3 Kb

4 Kb

4 Kb

2 Kb

2 Kb1 Kb

M ódu lo p rincip a l

Á rea d e ove rlay

Á rea l ivre

Á rea n ãou til izada

Page 6: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/6AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

Alocação Particionada Estática

M em ória Pr in cipa l

Sistem a O p eracion a l

2 Kb

5 Kb

8 Kb

Pa rtiçã o 1Pa rtiçã o

Tab ela de pa rtiçõ es

Tam a nh o

1 2 Kb

2 5 Kb

3 8 Kb

Pa rtiçã o 2

Pa rtiçã o 3Program as a serem executado s:

AE

3 Kb

D

6 Kb

C

1 Kb

B

4 Kb 2 Kb

• Memória é dividida em partições fixas, cada processo ocupará uma determinada partição estabelecida na inicialização do sistema.

Page 7: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/7

Alocação Particionada Estática Absoluta

M em ória Prin cip a l

Sistem a O p eracion a l

2 Kb

5 Kb

8 Kb

Pa rtiçã o 1

Pa rtiçã o 2

Pa rtiçã o 3

A

B

D

C

E

3 Kb

6 Kb

1 Kb

4 Kb

2 Kb

• Compiladores geram códigos absolutos, ou seja, todas as referências a endereços são posições físicas na memória principal.

• Programas só podem ser executados em partição determinada.

Page 8: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/8

Alocação Particionada Estática Relocável

M em ór ia Prin cip a l

Sistem a O p eracion a l

2 Kb

5 Kb

8 Kb

Program a C

Program a A

Program a B

ED

6 Kb 3 Kb

• Compiladores geram códigos relocáveis, ou seja, todas as referências a endereços são posições relativas ao início do código

• Programas podem ser executados em qualquer partição

Page 9: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/9

Tabela de Alocação de Partições

• P/manter controle das partições, é gerada uma tabela de alocação.

M em ória Pr in cipa l

Sistem a O p eracion a l

1

2

3

Program a C

Á rea l ivre

Program a B

Pa rtiçã o Tam a nh o Livre

1 2 Kb N ão

2 5 Kb Sim

3 8 Kb N ão

Page 10: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/10

Proteção na Alocação Particionada

M em ória Pr in cip a l

Sistem a O p eracion a l En dereço in icia l

En dereço fin a l

• Proteção se dá através de registradores que armazenam limites inferior e superior de cada partição.

Page 11: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/11

Fragmentação Interna

M em ória Pr in cip a l

Sistem a O p eracion a l

1 Kb

3 Kb

5 Kb

Program a C

Program a A

Program a E

BD

6 Kb 4 Kb

• Com um processo por partição, espaço interno não utilizado em cada partição é desperdiçado.

Page 12: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/12

Alocação Particionada Dinâmica

M em ória Pr in cipa lM em ór ia Pr in cipa l

Sistem a O p era cio n a lSistem a O p era cio n a l

4 Kb

1 Kb

3 Kb

5 Kb

2 Kb

15 K b

Program a C

Program a B

Program a A

Program a EBA

2 Kb

E

3 Kb

C

1 Kb 4 Kb

• Partições são alocadas dinamicamente de acordo com os

requisitos de memória dos programas.

Page 13: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/13

Fragmentação Externa

M em ória Prin cip a l

Sistem a O p eracion a l

4 Kb

3 Kb

5 Kb

Program a C

Program a A

D

6 Kb

• Término dos processos deixa espaços que podem ser

insuficientes para novos programas.

Page 14: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/14

Solução para a Fragmentação Externa

M em ória Pr in cipa lM em ór ia Pr in cipa l

Sistem a O p eracion a lSistem a O p eracion a l

8 Kb

4 Kb

3 Kb

5 Kb5 Kb

Program a C

Program a AProgram a A

• Reunir espaços adjacentes conforme os programas terminam.

Page 15: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/15

Solução para a Fragmentação Externa

M em ória Pr in cip a lM em ór ia Pr in cip a l

Sistem a O p eracion a l

Relo caçã o

Sistem a O p eracion a l

4 Kb

3 Kb

12 K b

5 Kb

Program a C

Program a C

Program a A

Program a A

• Relocação dinâmica de todas as partições ocupadas, eliminando

espaços entre elas e criando uma única área livre contígua.

• Algoritmo complexo que consome recursos do sistema.

Page 16: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/16

Estratégias de Alocação de Partição

M em ória Pr in cip a l

Sistem a O p eracion a l

4 Kb

3 Kb

5 Kb

Program a C

Program a A

Á rea s l ivresÁ rea l ivre 1

Á rea l ivre 2

Á rea l ivre 3

Tam a nh o

1 4 Kb

2 5 Kb

3 3 Kb

• SOs mantêm uma lista de áreas livres e implementam,

basicamente, três estratégias de alocação que tentam evitar ou

diminuir o problema de fragmentação externa.

Page 17: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/17

Estratégias de Alocação - Best-Fit

M em ór ia Pr in cipa l

Sistem a O p eracion a l

4 Kb

3 Kb

5 Kb

Progra m a C

Progra m a A

F

1 Kb

Sistem a O p eracion a l

2 Kb

Program a C

Program a F

Program a A

Á rea l ivre

• Partição escolhida é aquela em que o programa deixa o menor

espaço sem utilização.

Page 18: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/18

Estratégias de Alocação -Worst-Fit

M em ór ia Pr in cipa l

Sistem a O p eracion a l

4 Kb

3 Kb

5 Kb

Program a C

Program a A

F

1 Kb

Sistem a O p eracion a l

4 Kb

Program a C

Program a A

Á rea l ivre

Program a F

(b ) W orst- fi t

• Partição escolhida é aquela em que o programa deixa o maior

espaço sem utilização.

Page 19: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/19

Estratégias de Alocação - First-Fit

M em ór ia Pr in cipa l

Sistem a O p eracion a l

4 Kb

3 Kb

5 Kb

Program a C

Program a A

F

1 Kb

Sistem a O p era cio na l

3 Kb

Pro gram a C

Pro gram a A

Á rea livre

Pro gram a F

• Partição escolhida é primeira livre de tamanho suficiente

para carregar o programa.

Page 20: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/20

Swapping

• Problema: e se não houver memória RAM suficiente para acomodar todos os processos?

• Solução: realizar uma troca de processos, ou swapping.

– Um dos processos em RAM é deslocado para uma memória secundária (swap out) e dá lugar ao “novo” processo (swap in).

– Opta-se por remover o processo em wait com menos chance de ser executado (possivelmente pode optar por um processo em ready).

– Uma área do disco passa a ser usada como memória secundária (área de swap).

– Mais tarde, o processo swapped out é escalonado e, então, swapped in, voltando a ser executado.

Page 21: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/21

Swapping

• Necessário haver relocação dinâmica.

• Permite maior compartilhamento.

• Custo elevado p/operações de swap in e swap out.

• Problema: não havendo espaço para crescimento ou relocação, e/ou a área de swap estiver cheia, o processo poderá ficar em estado de espera ou ser terminado.

M em ória Pr in cip a l

M em ór ia Pr in cip a l

Sistem aO peracion a l

Sistem aO peracion a l

Program a A

Program a A

Program a G

Á rea LivreSw ap in

Sw ap ou t

A rq u ivod e Sw ap

Program a E

Program a E

Program a B

Program a H

H

B

B

Page 22: ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 9/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

AS

O –

Mac

hado

/Mai

a –

com

plem

. por

Sid

ney

Luc

ena

(UN

IRIO

)

9/22

Relocação Dinânica

En dereço dem em ória

En dereço in cia ld a p a rtição

Reg istrad o r d e Relocaçã o Instru çã o

En dereçoC ód ig o d eop eraçã o