Pcd lista5

578 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
578
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pcd lista5

  1. 1. Programação Concorrente E Distribuída Lista V
  2. 2. 1. Crie um programa concorrente com Threads (Java ou C) no estilo Produtor-Consumidor, onde o processo produtor cria números aleatórios de 1 a 100000, e o processo consumidor analisa e verifica se o número criado é primo ou não. Simule uma situação onde o tem-se apenas um produtor e N consumidores, onde N é representado pelo dobro do número de processadores disponíveis na máquina. Limite o tamanho da lista (ligada) a armazenar 10 números. Ao final, após a geração de 10², 10³ e 10⁴ números pelo produtor, o programa deverá exibir a quantidade total de números primos encontrados. Especifique a configuração da máquina utilizada e o Speedup máximo encontrado. 2. Modifique o programa acima para uma configuração de Leitores e Escritores, onde a Lista com números gerados pelos processos escritores estará limitada a 10², 10³ e 10 ⁴ números aleatórios na mesma faixa designada acima. Crie dois processos escritores que escrevem na lista e N processos leitores que tem o mesmo objetivo do exercício acima, ou seja, verificam se um número é primo ou não. Crie um mecanismo externo de controle para que dois processos leitores leiam posições diferentes para o correto cálculo da quantidade de números primos. 3. Crie uma solução em pseudo-código com um algoritmo concorrente utilizando de semáforos para o problema denominado popularmente como: "Problema ifesdo Barbeiro Adormecido". Onde se tem uma barbearia com um barbeiro e N cadeiras de espera para clientes. Quando um cliente chega e o barbeiro está trabalhando, o cliente deverá esperar a sua vez de ser atendido sentado em uma cadeira. Caso não existam cadeiras vazias o cliente vai embora. Se um cliente chega e encontra a barbearia vazia, com o barbeiro dormindo, ele deve acordar o barbeiro. 4. Resolva o problema acima com monitores. 5. Resolva um Quick-Sort concorrente com Decomposição recursiva. 6. Resolva o problema de se buscar N números primos em uma lista de números aleatórios, como no exercício 1, com mapeamento dinâmico da forma Mestre-Escravo e Self- Scheduling, para M threads. Em breve, no unifesp.tk a resolução da lista.

×