Você está na página 1de 1

SISTEMAS OPERACIONAIS

TAREFA DE CASA 2
Prof. Samuel Souza

Este trabalho aborda os contedos, Threads, Semforos, Mutexes e Deadlocks. E pode ser
resolvido em C ou em Java. O trabalho pode ser feito em duplas.

O Jantar dos Filsofos

H cinco filsofos sentados ao redor de uma mesa, sobre esta mesa esto cinco talheres.
Diante de cada filsofo h uma refeio, e os talheres esto aos dois lados de cada prato, de
forma que h apenas um par de talheres para cada dois filsofos. Para comer, cada filsofo
deve usar, obrigatoriamente, os dois talheres. Enquanto no comem, os filsofos ficam
pensando. A situao pode ser vista na Figura 1.

Figura 1. Disposio da mesa dos filsofos.

Este problema computacional versa sobre a disputa de recursos, neste caso, quem controla
o par de talheres. Enquanto um filsofo come, os filsofos adjacentes no podem comer,
devem ficar pensando.

O objetivo que demonstrar a concorrncia na alocao por recursos. A soluo ideal deve
permitir que todos filsofos jantem no menor tempo sem que ocorra um deadlock. Um
exemplo de deadlock quando cada filsofo pega um talher e fica esperando outro filsofo
liberar um talher, porm, todos esto esperando a mesma coisa e ningum janta.

DEADLINE: 31/10