sabedoria

341 palavras 2 páginas
O Problema do Jantar dos filósofos Para exemplificar os problemas e soluções da sincronização de processos, foi feita esta analogia. Em uma mesa circular estão sentados 5 filósofos onde cada um possui um prato de macarrão a sua frente. Na mesa há também 5 hashis, que serão utilizados para comer o macarrão. O problema é que estão dispostos apenas 5 destes em toda a mesa, um entre cada par de pratos, e para que um filósofo possa comer ele precisará de 2 hashis. Cada filósofo pode assumir 3 estados: pensando, faminto e comendo. Ao chegar a mesa os filósofos estão no estado pensando. Ao tentar pegar um hashi, seu estado passa a ser faminto. Caso consiga pegar os 2 de que precisa simultaneamente, começa a comer, caso contrário permanece faminto. O objetivo deste problema é fazer com que todos os filósofos comam o macarrão de seu prato sem que haja conflito entre eles na luta pelos hashis.

Se todos os filósofos pegarem simultaneamente o hashi da sua esquerda, por exemplo, o da sua direita jamais estará livre, e o filósofo terá que devolver o hashi da esquerda. Este processo de pegar o da esquerda e em seguida soltá-lo se repetirá infinitamente e portanto nenhum dos filósofos conseguirá comer. Em linguagem técnica dentro do sincronismo de processos, essa busca pelos hashis indefinidamente caracteriza uma inanição e o fato de todos os filósofos pegarem um hashi simultaneamente caracteriza um deadlock, pois cada filósofo necessita de um recurso que está na posse de outro filósofo. Como solução destes problemas, duas medidas devem ser tomadas. A primeira se refere a implementação de monitores, para que não haja mais que um filósofo tentando pegar hashis simultaneamente. A outra saída é alternar a ordem para pegar os hashis, alguns filósofos pegam primeiro os da esquerda enquanto outros pegam os da direita.
Para exemplificar a solução deste problema foi desenvolvido um programa na linguagem C++ com a implementação de um monitor.

Relacionados

  • Sabedoria
    1035 palavras | 5 páginas
  • O que é sabedoria ?
    294 palavras | 2 páginas
  • Sabedoria
    1370 palavras | 6 páginas
  • sabedoria
    574 palavras | 3 páginas
  • Sabedoria
    1602 palavras | 7 páginas
  • sabedoria
    542 palavras | 3 páginas
  • Sabedoria
    530 palavras | 3 páginas
  • Sabedoria
    10135 palavras | 41 páginas
  • Sabedoria
    5077 palavras | 21 páginas
  • sabedoria
    376 palavras | 2 páginas