A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de Computadores

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Computadores"— Transcrição da apresentação:

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 SEGMENTAÇÃO Motivação

4 SEGMENTAÇÃO Motivaçã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 Segmentção X Paginação

8 Implementação SEGMENTAÇÃO
Existem duas formas de se implementar segmentação: Swapping Paginação

9 Segmentação por Swapping
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

11 Segmentação por Swapping

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 SEGMENTAÇÃO Best Fit 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 SEGMENTAÇÃO First Fit 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 Compensação de Buracos 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
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

18 MULTIPROGRAMAÇÃO Motivaçã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 X Paralelismo Simulado 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 Paralelismo Real X Paralelismo Simulado

21 MULTIPROGRAMAÇÃO Condição de Corrida 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 MULTIPROGRAMAÇÃO Condição de Corrida 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 MULTIPROGRAMAÇÃO Condição de Corrida

24 Procedimento Produtor
MULTIPROGRAMAÇÃO Procedimento Produtor

25 Procedimento Consumidor
MULTIPROGRAMAÇÃO Procedimento Consumidor

26 Problema Inconsistência nos valores para entrada e saída
MULTIPROGRAMAÇÃO Problema 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 MULTIPROGRAMAÇÃO Soluçã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 MULTIPROGRAMAÇÃO Semáforos


Carregar ppt "Arquitetura de Computadores"

Apresentações semelhantes


Anúncios Google