Jantar Dos Filósofos Com Semáforo
Trabalho Escolar: Jantar Dos Filósofos Com Semáforo. Pesquise 862.000+ trabalhos acadêmicosPor: victor_bonifacio • 27/11/2013 • 277 Palavras (2 Páginas) • 1.035 Visualizações
Esse é o primeiro de uma seqüencia de vários posts relacionados com um trabalho da matéria CES-33 (Sistemas Operacionais), ministrada pelo professor Yano do Instituto Tecnológico de Aeronáutica.
Esses posts tratarão de problemas envolvendo diversos conceitos relacionados com sistemas operacionais, tais como processos, threads e pipes.
O problema do jantar dos filósofos foi proposto e resolvido por Dijkstra em 1965:
Cinco filósofos estão sentados em volta de uma mesa circular, cada um deles possui em sua frente um prato de espaguete. O espaguete é tão escorregadio que é necessário a utilização de dois garfos para comê-lo. Entre cada dois pratos existe apenas um garfo.
Cada filósofo divide seu tempo entre duas atividades, comer e pensar. Quando um filósofo está faminto, ele tenta pegar os dois garfos vizinhos ao seu prato para comer o espaguete, se conseguir fazê-lo ele come, recoloca os garfos na mesa e volta a pensar.
Fiquei devendo este projeto, o qual lamentavelmente alguns colegas de classe, possivelmente precisarão usá-lo, estou falando daqueles que estão de DP.
É o exercício dos filósofos utilizando semáforos (semaphore), em java. O problema é o seguinte, imagine uma mesa redonda, assim como a távora redonda, com cinco assentos para cinco filósofos, cada um sentado na sua respectiva cadeira, e sobre a mesa existem cinco talheres, cada filósofo tem o seu próprio talher, porém para realizar a refeição será necessário 2 talheres para cada filósofo. Conclusão, apenas 2 filósofos se alimentam a um período qualquer, se um filósofo estiver se alimentando, logo seu vizinho, da direita ou da esquerda, ficará aguardando seu vizinho terminar, o filósofo não pode guardar um talher e também só pode pegar os talheres dos vizinhos mais próximos, e todos precisam comer.
...