Arquitetura de Computadores - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Arquitetura de Computadores

Description:

Arquitetura de Computadores Ricardo de Sousa Britto Motiva o Sistema de Mem ria virtual por pagina o unidimensional. Problema: Estruturas de dados ... – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 29
Provided by: Rica296
Category:

less

Transcript and Presenter's Notes

Title: Arquitetura de Computadores


1
Arquitetura de Computadores
  • Ricardo de Sousa Britto

2
Motivação
SEGMENTAÇÃO
  • Sistema de Memória virtual por paginação é
    unidimensional.
  • Problema Estruturas de dados dinâmicas (pilhas,
    tabelas de símbolos ...) podem encostar umas nas
    outras.
  • Solução Dividir a memória em segmentos
  • Segmentos Espaços de endereçamento
    unidimensionais independentes de tamanho variável

3
Motivação
SEGMENTAÇÃO
4
Motivação
SEGMENTAÇÃO
5
Funcionamento
SEGMENTAÇÃO
  • A memória é organizada de forma bidimensional.
  • Um segmento armazena apenas um tipo de estrutura
    de dados e não é transparente para o usuário.
  • Permite manipular de forma independente
    estruturas dinâmicas.

6
Funcionamento
SEGMENTAÇÃO
  • Segmentos diferentes podem ter diferentes tipos
    de proteção.
  • Procedimentos podem ser armazenados em segmentos
    distintos.
  • Se um procedimento for modificado, nenhum outro
    precisa ser modificado.
  • Procedimentos podem ser compartilhados por
    processos paralelos.

7
Segmentção X Paginação
SEGMENTAÇÃO
8
Implementação
SEGMENTAÇÃO
  • Existem duas formas de se implementar
    segmentação
  • Swapping
  • Paginação

9
Segmentação por Swapping
SEGMENTAÇÃO
  • Semelhante a paginação por demanda.
  • Memória armazena conjunto de segmentos de tamanho
    variável.
  • Problema geração de buracos Fragmentação
    externa
  • Solução Compactação, Best fit, First fit,
    Compensação de Buracos.

10
Segmentação por Swapping
SEGMENTAÇÃO
11
Segmentação por Swapping
SEGMENTAÇÃO
12
Compactação
SEGMENTAÇÃO
  • Mover todos os segmentos que estiverem acima de
    um buraco de modo a ocupar-lo
  • Duas abordagens Compactar quando aparece um
    buraco ou quando tem um quantidade determinada
  • Desvantagem Gasta muito tempo para ser executada

13
Best Fit
SEGMENTAÇÃO
  • Colocar um novo segmento na memória de forma a
    deixar a menor folga possível
  • Evita que buracos grandes sejam transformados em
    buracos menores
  • Deve-se manter uma lista de buracos, contendo o
    endereço e tamanho deles

14
First Fit
SEGMENTAÇÃO
  • Deve-se manter uma lista de buracos, contendo o
    endereço e tamanho deles
  • Fica-se percorrendo a lista até encontrar um
    buraco suficientemente grande
  • Mais rápido que o best fit

15
Compensação de Buracos
SEGMENTAÇÃO
  • Ao retirar um segmento vizinho a um buraco,
    cria-se um buraco maior formado pela soma do
    velho e do espaço novo
  • Deve-se manter uma lista de buracos, contendo o
    endereço e tamanho deles
  • Pode ser utilizado juntamente com o best fit e o
    first fit

16
Segmentação por Paginação
SEGMENTAÇÃO
  • Segmentos são divididos em um conjunto de páginas
  • Páginas são carregadas por demanda na memória
    principal
  • Em um dado momento, algumas páginas de um
    segmento podem estar na memória principal e
    outras na memória virtual
  • É necessário manter uma tabela de páginas pra
    cada segmento

17
Segmentação por Paginação
SEGMENTAÇÃO
18
Motivação
MULTIPROGRAMAÇÃO
  • Alguns algoritmos podem ser mais bem programados
    se forem implementados por meio de 2 ou mais
    processos cooperantes
  • Outros algoritmos podem ser divididos em várias
    partes, de forma a serem executadas em paralelo

19
Paralelismo Real X Paralelismo Simulado
MULTIPROGRAMAÇÃO
  • Paralelismo real processos rodam em pc com mais
    de um processador ou roda em vários pcs
  • Paralelismo simulado processos compartilham um
    mesmo pc, sendo escalonados pelo SO

20
Paralelismo Real X Paralelismo Simulado
MULTIPROGRAMAÇÃO
21
Condição de Corrida
MULTIPROGRAMAÇÃO
  • Dois processos (produtor e consumidor)
    assíncronos comunicam-se por meio de um buffer
    circular.
  • Produtor calcula números e os armazena no buffer
  • Consumidor remove os números do buffer (um por
    vez) e os imprime

22
Condição de Corrida
MULTIPROGRAMAÇÃO
  • Ponteiro entrada aponta para a próxima palavra
    livre do buffer
  • Ponteiro saída aponta para o próximo número a
    ser removido
  • O topo do buffer é logicamente contíguo ao fundo
  • Entrada Saída, buffer vazio
  • Quando entrada esta logicamente uma palavra atrás
    de saída, o buffer está cheio

23
Condição de Corrida
MULTIPROGRAMAÇÃO
24
Procedimento Produtor
MULTIPROGRAMAÇÃO
25
Procedimento Consumidor
MULTIPROGRAMAÇÃO
26
Problema
MULTIPROGRAMAÇÃO
  • Inconsistência nos valores para entrada e saída
  • Processo produtor envia sinal de acordar para
    consumidor em momento errado
  • Isso leva aos os dois processos dormirem em um
    determinado momento, situação que se prolonga
    indefinidamente

27
Solução
MULTIPROGRAMAÇÃO
  • Bit de espera acordado Um bit assegura que um
    processo só deve dormir se este bit estiver em
    zero
  • Semáforos Bloqueiam determinado recurso para
    leitura e escrita.
  • Em determinado momento, se um processo estiver
    alterando um recurso, nenhum outro processo pode
    escrever ou ler nesse momento

28
Semáforos
MULTIPROGRAMAÇÃO
Write a Comment
User Comments (0)
About PowerShow.com