ATPS Programação Concorrente Etapa1
Pesquisas Acadêmicas: ATPS Programação Concorrente Etapa1. Pesquise 862.000+ trabalhos acadêmicosPor: govi • 31/3/2014 • 448 Palavras (2 Páginas) • 1.038 Visualizações
ETAPA 1 (tempo para realização: 5 horas)
Aula-tema: Revisão sobre Sistemas Operacionais. Conceitos básicos de sistemas operacionais e multiprogramação. Processos concorrentes.
Esta atividade é importante para que você utilize os conceitos iniciais vistos em sala de aula para definir qual a melhor linguagem de programação a utilizar e criar os primeiros componentes do protótipo. Serão utilizados conceitos de multiprogramação, Threads e Programação concorrente.
Para realizá-la, é importante seguir os passos descritos.
PASSOS
Passo 1 (Aluno)
Ler os conceitos introdutórios sobre Programação Concorrente, Multiprogramação e Threads, existentes no livro-texto da disciplina. Além disso, releia a revisão sobre Sistemas Operacionais, apresentada pelo seu professor.
Passo 2 (Equipe)
Auxiliar a equipe interna de TI da Tanngrísnir a escolher qual deverá ser a linguagem de programação que será utilizada, bem como estimar alguns parâmetros iniciais de concorrência, é o objetivo dessa primeira etapa. Para isso, deverão ser criados agentes baseados em thread nas linguagens C e Java que consumam, de um buffer de 5000 posições previamente preenchido (ou seja, será implementado apenas o consumidor), cada um dos pedidos (um struct na implementação em C e um objeto na implementação em Java). O consumidor eliminará continuamente os pedidos do buffer e seu tempo de processamento será simulado por uma pausa de 10000 milissegundos. Ao final de cada processamento, deverá ser preenchido um log com a identificação da thread, a identificação do pedido, o horário de início e o horário de término do processamento. Quando o buffer estiver esgotado, as threads serão bloqueadas. Por ora, não há a necessidade de se preocupar com a exclusão mútua necessária entre os diversos consumidores.
Passo 3 (Equipe)
Fazer um experimento no qual sejam iniciadas quantidades distintas de threads simultâneas (1, 10, 50, 100, 500, 1000). Para cada uma dessas quantidades, faça 10 execuções – até que o buffer esteja vazio - e armazenem o tempo de execução para uma delas. Criar uma tabela na qual conste o tempo de cada um dos testes para as duas linguagens e o tempo médio para cada quantidade. Fazer ainda um quadro de resumo comparativo no qual constem os tempos médios de execução para cada quantidade de threads e o tempo de desenvolvimento por linguagem. Por fim, traçar um gráfico dos tempos médios e as quantidades de threads.
Passo 4 (Equipe)
Entregar ao professor da disciplina:
1. Uma mídia contendo o código fonte comentado do programa, ou seja, todos os arquivos do projeto desenvolvido no Passo 2.
Sistemas de Informação – 7ª Série – Programação Concorrente
Maurício Rodrigues de Morais
Pág. 5 de 8
2. Um documento impresso, denominado Relatório da Etapa 1, constituído de capa, o código fonte comentado e o relatório de testes desenvolvido no Passo 3.
Instrução:
...