Trabalho de Sistemas Operacionais - Problema dos Canibais

release 0.99.5

Desenvolvedores

 Renato Luiz Cunha
 Luiz Rodrigo Castro
 Helder Brito Nascimento
 Uanderson Sigler Gomes
 Guilherme Monteiro Garcia
 

Introdução

Implementação em linguagem C de uma solução do problema dos canibais, um dos muitos problemas clássicos do comunicação entre processos, utilizando a biblioteca pthreads.

Enunciado do problema

Suponha que um grupo de N canibais come jantares a partir de uma grande trabessa que comporta M porções. Quando alguém quer comer, ele (a) se serve da travessa, a menos que ela esteja vazia. Se a travessa está vazia, o canibal acorda o cozinheiro e espera até que o cozinheiro coloque mais M porções na travessa. Desenvolva o código para as ações dos canibais e do cozinheiro - rotinhas canibal, seserve (chamada por canibal), cozinheiro e encretravessa (chamada por cozinheiro). A solução deve evitar deadlock e deve acordar o cozinheiro apenas quando a travessa estiver vazia. Suponha um longo jantar, onde cada canibal continuamente se serve e come, sem se preocupar com as demais ações na vida de um canibal.

Nossa Solução

Nossa solução consiste no seguinte:

Compilação e Execução

Descompacte o pacote dos canibais, entre no diretório criado e execute make.

Para rodar a solução, execute ./banquete dentro do diretório onde foi descompactada nossa solução. Instruções de execução aparecerão na tela. Boa sorte!


Gerado em Fri May 20 14:26:25 2005 para Antropofagia Eterna por  doxygen 1.4.0