Você está na página 1de 20

www.regibio.com

1
1
www.regibio.com 1 Processamento Computacional

Processamento

Computacional

www.regibio.com 1 Processamento Computacional
www.regibio.com 1 Processamento Computacional
www.regibio.com 1 Processamento Computacional
www.regibio.com 1 Processamento Computacional
www.regibio.com 1 Processamento Computacional

Considerações:

www.regibio.com

Memória

2

Recurso caro e escasso;

Programas só executam se estiverem na memória principal;

Quanto mais processos residentes na memória principal, melhor será o compartilhamento do processador;

Necessidade de uso otimizado;

O S.O. não deve ocupar muita memória;

“É um dos factores mais importantes em um projeto de S.O.”.

• O S.O. não deve ocupar muita memória; • “É um dos factores mais importantes em
• O S.O. não deve ocupar muita memória; • “É um dos factores mais importantes em
• O S.O. não deve ocupar muita memória; • “É um dos factores mais importantes em
• O S.O. não deve ocupar muita memória; • “É um dos factores mais importantes em
• O S.O. não deve ocupar muita memória; • “É um dos factores mais importantes em

www.regibio.com

Memória

3

Algumas funções do Gerenciador de memória:

Controlar quais as unidades de memória estão ou não estão em uso, para que sejam alocadas quando necessário;

Liberar as unidades de memória que foram desocupadas por um

processo que finalizou;

Tratar do Swapping entre memória principal e memória secundária - Transferência temporária de processos residentes na memória principal para memória secundária.

memória secundária - Transferência temporária de processos residentes na memória principal para memória secundária.
memória secundária - Transferência temporária de processos residentes na memória principal para memória secundária.
memória secundária - Transferência temporária de processos residentes na memória principal para memória secundária.
memória secundária - Transferência temporária de processos residentes na memória principal para memória secundária.
memória secundária - Transferência temporária de processos residentes na memória principal para memória secundária.

www.regibio.com

Memória

Técnicas de Alocação de Memória:

Alocação Contígua Simples;

Alocação Particionada Estática;

4

Alocação Particionada Estática Absoluta;

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

Alocação Particionada Dinâmica.

Estática Absoluta; • Alocação Particionada Estática Relocável; • Alocação Particionada Dinâmica.
Estática Absoluta; • Alocação Particionada Estática Relocável; • Alocação Particionada Dinâmica.
Estática Absoluta; • Alocação Particionada Estática Relocável; • Alocação Particionada Dinâmica.
Estática Absoluta; • Alocação Particionada Estática Relocável; • Alocação Particionada Dinâmica.
Estática Absoluta; • Alocação Particionada Estática Relocável; • Alocação Particionada Dinâmica.

Memória

Alocação Contígua Simples

www.regibio.com

5

Alocação implementada nos primeiros sistemas e ainda usada nos monoprogramáveis; A Memória é dividida em duas áreas:

Área do Sistema Operacional

Área do Usuário

Um utilizador não pode usar uma área maior do que a disponível; Sem proteção:

Um usuário pode acessar a área do Sistema Operacional.

usar uma área maior do que a disponível; Sem proteção: • Um usuário pode acessar a
usar uma área maior do que a disponível; Sem proteção: • Um usuário pode acessar a
usar uma área maior do que a disponível; Sem proteção: • Um usuário pode acessar a
usar uma área maior do que a disponível; Sem proteção: • Um usuário pode acessar a
usar uma área maior do que a disponível; Sem proteção: • Um usuário pode acessar a

Memória

Alocação Contígua Simples

www.regibio.com

6

Registrador de proteção delimita as áreas do sistema operacional e do usuário;

Sistema verifica acessos à memória em relação ao endereço do registrador;

A forma de alocação era simples, mas não permitia utilização eficiente de processador e memória;

registrador; • A forma de alocação era simples, mas não permitia utilização eficiente de processador e
registrador; • A forma de alocação era simples, mas não permitia utilização eficiente de processador e
registrador; • A forma de alocação era simples, mas não permitia utilização eficiente de processador e
registrador; • A forma de alocação era simples, mas não permitia utilização eficiente de processador e
registrador; • A forma de alocação era simples, mas não permitia utilização eficiente de processador e

www.regibio.com

Memória

7

Alocação Contígua Simples Programas de usuário limitados pelo tamanho da memória principal disponível. Solução: Overlay

Dividir o programa em módulos;

Permitir execução independente de cada módulo, usando a mesma área de memória; Área de Overlay

Área de memória comum onde módulos compartilham mesmo espaço.

usando a mesma área de memória; Área de Overlay • Área de memória comum onde módulos
usando a mesma área de memória; Área de Overlay • Área de memória comum onde módulos
usando a mesma área de memória; Área de Overlay • Área de memória comum onde módulos
usando a mesma área de memória; Área de Overlay • Área de memória comum onde módulos
usando a mesma área de memória; Área de Overlay • Área de memória comum onde módulos

Memória

Alocação Particionada

www.regibio.com

8

Multiprogramação - Necessidade do uso da memória por vários usuários simultaneamente.

Ocupação mais eficiente do processador;

A memória foi dividida em pedaços de tamanho fixo chamados

partições;

O tamanho de cada partição era estabelecido na inicialização do sistema;

Para alteração do particionamento, era necessário uma nova inicialização com uma nova configuração.

sistema; • Para alteração do particionamento, era necessário uma nova inicialização com uma nova configuração.
sistema; • Para alteração do particionamento, era necessário uma nova inicialização com uma nova configuração.
sistema; • Para alteração do particionamento, era necessário uma nova inicialização com uma nova configuração.
sistema; • Para alteração do particionamento, era necessário uma nova inicialização com uma nova configuração.
sistema; • Para alteração do particionamento, era necessário uma nova inicialização com uma nova configuração.

www.regibio.com

Memória

9

Alocação Particionada Estática Alocação Particionada Estática Absoluta:

Compiladores gerando código absoluto;

Endereços relativos ao início da memória;

Programas exclusivos para partições específicas.

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

Compiladores gerando código relocável;

Endereços relativos ao início da partição;

Programas podem rodar em qualquer partição.

código relocável; • Endereços relativos ao início da partição; • Programas podem rodar em qualquer partição.
código relocável; • Endereços relativos ao início da partição; • Programas podem rodar em qualquer partição.
código relocável; • Endereços relativos ao início da partição; • Programas podem rodar em qualquer partição.
código relocável; • Endereços relativos ao início da partição; • Programas podem rodar em qualquer partição.
código relocável; • Endereços relativos ao início da partição; • Programas podem rodar em qualquer partição.

Memória

Alocação Particionada Estática

Proteção:

www.regibio.com

10

Registradores com limites inferior e superior de memória acessível.

Programas não ocupam totalmente o espaço das partições, gerando uma fragmentação interna.

memória acessível. • Programas não ocupam totalmente o espaço das partições, gerando uma fragmentação interna.
memória acessível. • Programas não ocupam totalmente o espaço das partições, gerando uma fragmentação interna.
memória acessível. • Programas não ocupam totalmente o espaço das partições, gerando uma fragmentação interna.
memória acessível. • Programas não ocupam totalmente o espaço das partições, gerando uma fragmentação interna.
memória acessível. • Programas não ocupam totalmente o espaço das partições, gerando uma fragmentação interna.

www.regibio.com

Memória

Alocação Particionada Dinâmica

11

Não existe o conceito de partição dinâmica - O espaço utilizado por um programa é a sua partição.

Não ocorre fragmentação interna.

Ao terminarem, os programas deixam espalhados espaços

pequenos de memória, provocando a fragmentação externa.

• Ao terminarem, os programas deixam espalhados espaços pequenos de memória, provocando a fragmentação externa.
• Ao terminarem, os programas deixam espalhados espaços pequenos de memória, provocando a fragmentação externa.
• Ao terminarem, os programas deixam espalhados espaços pequenos de memória, provocando a fragmentação externa.
• Ao terminarem, os programas deixam espalhados espaços pequenos de memória, provocando a fragmentação externa.
• Ao terminarem, os programas deixam espalhados espaços pequenos de memória, provocando a fragmentação externa.

www.regibio.com

Memória

Alocação Particionada Dinâmica Soluções:

Reunião dos espaços contíguos.

Relocação Dinâmica:

12

Movimentação dos programas pela memória principal.

Resolve o problema da fragmentação.

Consome recursos do sistema - Processador, disco, etc.

memória principal. • Resolve o problema da fragmentação. • Consome recursos do sistema - Processador, disco,
memória principal. • Resolve o problema da fragmentação. • Consome recursos do sistema - Processador, disco,
memória principal. • Resolve o problema da fragmentação. • Consome recursos do sistema - Processador, disco,
memória principal. • Resolve o problema da fragmentação. • Consome recursos do sistema - Processador, disco,
memória principal. • Resolve o problema da fragmentação. • Consome recursos do sistema - Processador, disco,

Memória

Gerência de Memória Mapeamento de bits:

www.regibio.com

13

Cada bit representa uma unidade de alocação;

Raramente é utilizado atualmente – é muito lenta.

Mapeamento da Memória com listas ligadas:

P: Processo

B: Buraco

Header

Header
Header

P/B

início

tamanho

da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho
da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho

P/B

início

tamanho

da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho
da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho
da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho
da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho
da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho
da Memória com listas ligadas: P: Processo B: Buraco Header P/B início tamanho P/B início tamanho

www.regibio.com

Memória

14

Gerência de Memória

Mapeamento da Memória com listas ligadas:

Best-Fit (melhor alocação) - Espaço mais próximo do tamanho do processo;Tempo de busca grande;Provoca fragmentação.

Worst-Fit (pior alocação) - Cria o maior espaço possível;Tempo de busca grande;Não apresenta bons resultados.

First-Fit (primeira alocação) - Melhor performance.

Next-Fit (proxima alocação) - Performance inferior ao First-Fit.

(primeira alocação) - Melhor performance. • Next-Fit (proxima alocação) - Performance inferior ao First-Fit.
(primeira alocação) - Melhor performance. • Next-Fit (proxima alocação) - Performance inferior ao First-Fit.
(primeira alocação) - Melhor performance. • Next-Fit (proxima alocação) - Performance inferior ao First-Fit.
(primeira alocação) - Melhor performance. • Next-Fit (proxima alocação) - Performance inferior ao First-Fit.
(primeira alocação) - Melhor performance. • Next-Fit (proxima alocação) - Performance inferior ao First-Fit.

www.regibio.com

Memória

15

Gerência de Memória

Considerações sobre Mapeamento da Memória com listas ligadas :

Todos melhoram em performance se existirem listas distintas para processos e espaços, embora o algoritmo fique mais complexo.

Listas ordenadas por tamanho de espaço melhoram a performance.

e espaços, embora o algoritmo fique mais complexo. • Listas ordenadas por tamanho de espaço melhoram
e espaços, embora o algoritmo fique mais complexo. • Listas ordenadas por tamanho de espaço melhoram
e espaços, embora o algoritmo fique mais complexo. • Listas ordenadas por tamanho de espaço melhoram
e espaços, embora o algoritmo fique mais complexo. • Listas ordenadas por tamanho de espaço melhoram
e espaços, embora o algoritmo fique mais complexo. • Listas ordenadas por tamanho de espaço melhoram

Swapping

www.regibio.com

Memória

16

Os processos ficavam na memória principal, mesmo se bloqueados pela espera de algum evento. Solução: Swapping.

Técnica para resolver problema de processos que aguardam por espaço livre adequado;

Processos não ficam mais na memória o tempo todo.

problema de processos que aguardam por espaço livre adequado; • Processos não ficam mais na memória
problema de processos que aguardam por espaço livre adequado; • Processos não ficam mais na memória
problema de processos que aguardam por espaço livre adequado; • Processos não ficam mais na memória
problema de processos que aguardam por espaço livre adequado; • Processos não ficam mais na memória
problema de processos que aguardam por espaço livre adequado; • Processos não ficam mais na memória

www.regibio.com

Memória

17

Swapping Um processo residente na memória é levado para o disco (Swapped-Out), dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.

dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.
dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.
dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.
dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.
dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.
dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.

Memória

Swapping Problema gerado pelo Swapping:

Relocação de processos:

www.regibio.com

18

O tempo gasto com relocação é alto;

Um mesmo processo sendo Swapped-Out repetidas vezes gera um alto consumo de CPU.

tempo gasto com relocação é alto; • Um mesmo processo sendo Swapped-Out repetidas vezes gera um
tempo gasto com relocação é alto; • Um mesmo processo sendo Swapped-Out repetidas vezes gera um
tempo gasto com relocação é alto; • Um mesmo processo sendo Swapped-Out repetidas vezes gera um
tempo gasto com relocação é alto; • Um mesmo processo sendo Swapped-Out repetidas vezes gera um
tempo gasto com relocação é alto; • Um mesmo processo sendo Swapped-Out repetidas vezes gera um

Swapping

www.regibio.com

Memória

Vantagens da técnica de Swapping:

19

Permite maior compartilhamento da memória;

Aumento no Throughput (quantidade de processos

executados por unidade de tempo);

Eficiente para sistemas com poucos usuários e pequenas aplicações;

Problema:

Custo do Swapping (in/out).

• Eficiente para sistemas com poucos usuários e pequenas aplicações; • Problema: • Custo do Swapping
• Eficiente para sistemas com poucos usuários e pequenas aplicações; • Problema: • Custo do Swapping
• Eficiente para sistemas com poucos usuários e pequenas aplicações; • Problema: • Custo do Swapping
• Eficiente para sistemas com poucos usuários e pequenas aplicações; • Problema: • Custo do Swapping
• Eficiente para sistemas com poucos usuários e pequenas aplicações; • Problema: • Custo do Swapping

www.regibio.com

www.regibio.com 20 Processamento Computacional

20

www.regibio.com 20 Processamento Computacional

Processamento

Computacional

www.regibio.com 20 Processamento Computacional
www.regibio.com 20 Processamento Computacional
www.regibio.com 20 Processamento Computacional
www.regibio.com 20 Processamento Computacional
www.regibio.com 20 Processamento Computacional