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

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

Arquitetura de Computadores Ricardo de Sousa Britto.

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Computadores Ricardo de Sousa Britto."— Transcrição da apresentação:

1 Arquitetura de Computadores Ricardo de Sousa Britto

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

3 Motivação SEGMENTAÇÃO

4 Motivação SEGMENTAÇÃO

5 Funcionamento 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. SEGMENTAÇÃO

6 Funcionamento 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. SEGMENTAÇÃO

7 Segmentção X Paginação SEGMENTAÇÃO

8 Implementação Existem duas formas de se implementar segmentação: – Swapping – Paginação SEGMENTAÇÃ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. SEGMENTAÇÃO

10 Segmentação por Swapping SEGMENTAÇÃO

11 Segmentação por Swapping SEGMENTAÇÃO

12 Compactaçã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 SEGMENTAÇÃO

13 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 SEGMENTAÇÃO

14 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 SEGMENTAÇÃO

15 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 SEGMENTAÇÃO

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 SEGMENTAÇÃO

17 Segmentação por Paginação SEGMENTAÇÃO

18 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 MULTIPROGRAMAÇÃO

19 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 MULTIPROGRAMAÇÃO

20 Paralelismo Real X Paralelismo Simulado MULTIPROGRAMAÇÃO

21 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 MULTIPROGRAMAÇÃO

22 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 MULTIPROGRAMAÇÃO

23 Condição de Corrida MULTIPROGRAMAÇÃO

24 Procedimento Produtor MULTIPROGRAMAÇÃO

25 Procedimento Consumidor MULTIPROGRAMAÇÃO

26 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 MULTIPROGRAMAÇÃO

27 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 MULTIPROGRAMAÇÃO

28 Semáforos MULTIPROGRAMAÇÃO


Carregar ppt "Arquitetura de Computadores Ricardo de Sousa Britto."

Apresentações semelhantes


Anúncios Google