Buscar

Relatório - Produtor e Consumidor Threads

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL 
 
Fábio Goulart de Matos Sistemas de Informação - UEMS SI/UEMS 
Acadêmico: Fábio Goulart de Matos RGM: 017707 
Sistemas Operacionais e Aplicações – Silberschatz 
Resumo: Algoritmo Produtor Consumidor utilizando Threads 
O algoritmo do produtor consumidor consiste em um conjunto de processos que 
compartilham o mesmo buffer. Os processos chamados produtores inserem informação no 
buffer. Os processos chamados consumidores retiram informação deste buffer (Bocchi, 
2010). 
A aplicação dos Threads consiste na melhoria do desempenho no momento da 
execução do processo. Assim o processo é dividido em processos menores e executado 
simultaneamente durante a execução. 
Para construí o algoritmo produtor_consumidor_threads.c, utilizei: 
 Variáveis globais que facilitam a troca de informações, 
possibilitando utiliza-las em ambos os procedimentos. 
 Para a manipulação dessas variáveis foram desenvolvidos 
dois procedimentos: 
o Produtor (): encarregado de preencher o buffer; 
o Consumidor (): encarregado de consumir os itens do buffer; 
 No desenvolvimento das funções foram inseridas operações que garantem 
um controle sobre o carregamento e o consumo do buffer. Além de uma 
linha controla a divisão dos elementos que serão consumidos no buffer. 
 Produtor: 
 
 Consumidor: 
 
Dentro desse processo de controle, os threads são inseridos no processo principal main (). 
 
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL 
 
Fábio Goulart de Matos Sistemas de Informação - UEMS SI/UEMS 
Criando a operação: 
 
Sincronizando threads: 
 
Obs: Não foi necessário a utilização da pthread_exit(), pois dentro do controle das operações 
tem se um laço for que estipula a quantidade exata das operações realizadas. 
Para compilar o código, basta digitar no terminal: 
 
 
 
 
Referência 
Bocchi, R. (27 de 01 de 2010). O Produtor e o Consumidor. Acesso em 28 de 06 de 2013, 
disponível em Viva o Linux: http://www.vivaolinux.com.br/artigo/O-Produtor-e-o-
Consumidor/

Continue navegando