O Jantar dos filósofos foi proposto por Dijkstra em 1965 como um problema de sincronização. A partir de então todos os algoritmos propostos como soluções de sincronização acabaram sendo relacionados ou testados contra o problema do Jantar dos filósofos.
Definição do Problema
Cinco filósofos estão sentados em uma mesa redonda para jantar. Cada filósofo tem um prato com espaguete à sua frente. Cada prato possui um garfo para pegar o espaguete. O espaguete está muito escorregadio e, para que um filósofo consiga comer, será necessário utilizar dois garfos.
• Filósofos só tem 2 estados: comendo e pensando;
• Para comer, precisam de dois garfos, cada qual compartilhado com os seus vizinho; •
Só é possível pegar um garfo por vez;
Questões globais
• Como evitar um impasse (deadlock)?
•Como garantir que nenhum filósofo morra de fome?
Solução
• Uma das soluções é o semáforo assíncrono
Fontes:https://blog.pantuza.com/artigos/o-jantar-dos-filosofos-problema-de-sincronizacao-em-sistemas-operacionais
http://www-di.inf.puc-rio.br/~endler/courses/inf1019/transp/aulas-teoricas/Cap2-IPC.pdf