fundamentos de sistemas operacionais - 2º período

27
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período

Upload: others

Post on 17-Apr-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores

Fundamentos de Sistemas

Operacionais - 2º Período

Page 2: Fundamentos de Sistemas Operacionais - 2º Período

PARTE III: GERÊNCIA

DE RECURSOS

SUMÁRIO

9. GERÊNCIA DE MEMÓRIA:

9.1 Introdução;

9.2 Funções Básicas;

9.3 Alocação Contígua Simples;

9.4 Técnica de Overlay;

9.5 Alocação Particionada;

9.6 Swapping.

Page 3: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.1 Introdução

Uma das maiores preocupações dos projetistas 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.

Mesmo atualmente, com a redução de custo e consequente aumento da

capacidade da memória principal, seu gerenciamento é um dos fatores mais

importantes no projeto de sistemas operacionais.

A gerência de memória nos sistemas multiprogramáveis se torna 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.

Page 4: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.2 Funções Básicas

Manter na memória principal o maior número de processos residentes;

Mesmo na ausência de espaço livre, o sistema deve permitir que novos

processos sejam aceitos e executados;

Permitir a execução de programas que sejam maiores que a memória

física disponível;

Proteger as áreas de memória ocupadas por cada processo, além da área

onde reside o próprio sistema;

Oferecer mecanismos de compartilhamento para que diferentes

processos possam trocar dados de forma protegida.

Page 5: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.3 Alocação Contígua Simples

Neste tipo de organização, a memória principal é subdividida em duas áreas:

uma para o sistema operacional e outra para o programa do usuário.

Memória Principal

SistemaOperacional

Área paraprograma

Page 6: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.3 Alocação Contígua Simples

Proteção na alocação contígua simples:

Memória Principal

RegistradorSistema

Operacional

Área paraprograma

Page 7: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.3 Alocação Contígua Simples

Subutilização da memória principal:

Memória Principal

SistemaOperacional

Programado usuário

Área livre

Page 8: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.4 Técnica de Overlay

Problema na alocação contígua simples: todos os programas estão limitados

ao tamanho da área de memória principal disponível para o usuário.

Uma solução: dividir o programa em módulos, de forma que seja possível a

execução independente de cada módulo, utilizando uma mesma área de

memória. Essa técnica é chamada de overlay.

A técnica de overlay tem a vantagem de permitir ao programador expandir os

limites da memória principal.

A utilização dessa técnica exige muito cuidado, pois pode trazer implicações

tanto na sua manutenção quanto no desempenho das aplicações.

Page 9: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.4 Técnica de Overlay

Memória Principal

Cadastramento

Impressão

Sistema Operacional2 Kb

3 Kb

4 Kb

4 Kb

2 Kb

2 Kb

1 Kb

Módulo principal

Área de overlay

Área livre

Área nãoutilizada

Page 10: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

9.5.1 Alocação Particionada Estática

Memória Principal

Sistema Operacional

2 Kb

5 Kb

8 Kb

Partição 1Partição

Tabela de partições

Tamanho

1 2 Kb

2 5 Kb

3 8 Kb

Partição 2

Partição 3Programas a serem executados:

AE

3 Kb

D

6 Kb

C

1 Kb

B

4 Kb 2 Kb

Page 11: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Alocação Particionada Estática Absoluta:

Memória Principal

Sistema Operacional

2 Kb

5 Kb

8 Kb

Partição 1

Partição 2

Partição 3

A

B

D

C

E

3 Kb

6 Kb

1 Kb

4 Kb

2 Kb

Page 12: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Alocação Particionada Estática Relocável:

Memória Principal

Sistema Operacional

2 Kb

5 Kb

8 Kb

Programa C

Programa A

Programa B

ED

6 Kb 3 Kb

Page 13: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Tabela de alocação de partições:

Memória Principal

Sistema Operacional

1

2

3

Programa C

Área livre

Programa B

Partição Tamanho Livre

1 2 Kb Não

2 5 Kb Sim

3 8 Kb Não

Page 14: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Proteção na alocação particionada:

Memória Principal

Sistema Operacional Endereço inicial

Endereço final

Page 15: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Fragmentação interna:

Memória Principal

Sistema Operacional

1 Kb

3 Kb

5 Kb

Programa C

Programa A

Programa E

BD

6 Kb 4 Kb

Page 16: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

9.5.2 Alocação Particionada Dinâmica

Memória PrincipalMemória Principal

Sistema OperacionalSistema Operacional

4 Kb

1 Kb

3 Kb

5 Kb

2 Kb

15 Kb

Programa C

Programa B

Programa A

Programa E

BA

2 Kb

E

3 Kb

C

1 Kb 4 Kb

Page 17: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Fragmentação externa: Memória Principal

Sistema Operacional

4 Kb

3 Kb

5 Kb

Programa C

Programa A

D

6 Kb

Page 18: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Solução para a fragmentação externa (a):

Memória PrincipalMemória Principal

Sistema OperacionalSistema Operacional

8 Kb

4 Kb

3 Kb

5 Kb5 Kb

Programa C

Programa APrograma A

Page 19: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

Solução para a fragmentação externa (b):

Memória PrincipalMemória Principal

Sistema Operacional

Relocação

Sistema Operacional

4 Kb

3 Kb

12 Kb

5 Kb

Programa C

Programa C

Programa A

Programa A

Page 20: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

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

Memória Principal

Sistema Operacional

4 Kb

3 Kb

5 Kb

Programa C

Programa A

Áreas livresÁrea livre 1

Área livre 2

Área livre 3

Tamanho

1 4 Kb

2 5 Kb

3 3 Kb

Page 21: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

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

Best-fit: a melhor partição é escolhida, ou seja, aquela em que o

programa deixa o menor espaço sem utilização;

Worst-fit: a pior partição é escolhida, ou seja, aquela em que o programa

deixa o maior espaço sem utilização;

First-fit: a primeira partição livre de tamanho suficiente para carregar o

programa é escolhida.

Page 22: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

(a) Best-fit:

Page 23: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

(b) Worst-fit:

Page 24: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.5 Alocação Particionada

(c) First-fit:

Page 25: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.6 Swapping

Memória Principal

Memória Principal

SistemaOperacional

SistemaOperacional

Programa A

Programa A

Programa G

Área LivreSwap in

Swap out

Arquivode Swap

Programa E

Programa E

Programa B

Programa H

H

B

B

Page 26: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.6 Swapping

Relocação dinâmica:

Endereço dememória

Endereço incialda partição

Registrador de Relocação Instrução

EndereçoCódigo deoperação

Page 27: Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 9 - Gerência

de Memória

9.6 Swapping

O conceito de swapping permite um maior compartilhamento da memória

principal.

Seu maior problema é o elevado custo das operações de entrada/saída

(swap in/out).

Thrashing: em momentos em que há pouca memória disponível, o sistema

pode ficar quase que dedicado à realização de swapping, deixando de

executar outras tarefas.

Com a evolução dos SOs, novos esquemas de gerência de memória

passaram a incorporar a técnica de swapping, como a gerência de memória

virtual.