solução barbeiro dorminhoco

863 palavras 4 páginas
O Problema do Barbeiro Dorminhoco (com threads)
Em ciência da computação, o problema do barbeiro dorminhoco é um problema clássico de comunicação inter-processo e sincronização entre múltiplos processos.O problema é análogo a manter o barbeiro ocupado enquanto há clientes, e descansando quando não há nenhum (fazendo isso de uma maneira ordenada).O barbeiro e seus clientes correspondem aos processos mencionados acima.O problema:Na barbearia há um barbeiro, uma cadeira de barbeiro e n cadeiras para eventuais clientes esperarem a vez. Quando não há clientes, o barbeiro senta-se na cadeira de barbeiro e cai no sono. Quando chega um cliente, ele precisa acordar o barbeiro. Se outros clientes chegarem enquanto o barbeiro estiver cortando o cabelo de um cliente, eles se sentarão (se houver cadeiras vazias) ou sairão da barbearia (se todas as cadeiras estiverem ocupadas). O problema é programar o barbeiro e os clientes sem cair em condições de disputa. Esse problema é semelhante a situações com várias filas, como uma mesa de atendimento de telemarketing com diversos atendentes e com um sistema computadorizado de chamadas em espera, atendendo a um número limitado de chamadas que chegam.A solução aqui apresentada usa três semáforos: customers, que conta os clientes à espera de atendimento (exceto o cliente que está na cadeira de barbeiro, que não está esperando); barbers, o número de barbeiros (0 ou 1) que estão ociosos à espera de clientes, e mutex, que é usado para exclusão mútua. Precisamos ainda de uma variável, waiting, que também conta os clientes à espera de atendimento. É essencialmente uma cópia de customers. A razão de se ter waiting é que não há uma maneira de ler o valor atual do semáforo. Nessa solução, um cliente que entra na barbearia deve contar o número de clientes à espera de atendimento. Se este for menor que o número de cadeiras, ele ficará; do contrário, ele sairá.Na solução, quando chega de manhã para trabalhar, o barbeiro executa o método barber,

Relacionados

  • Algorítimo barbeiro
    681 palavras | 3 páginas
  • Barbeiro Dorminhoco
    723 palavras | 3 páginas
  • Problemas Classicos SO
    477 palavras | 2 páginas
  • O Barbeiro Dorminhoco
    318 palavras | 2 páginas
  • Mecanismos de sincronização de processos e aplicações concorrentes
    2274 palavras | 10 páginas
  • Sistemas operacionais
    1119 palavras | 5 páginas
  • O poder da comunicaçao
    1077 palavras | 5 páginas
  • Sistemas operacionais
    1000 palavras | 4 páginas
  • Prova sisop 2 ufrgs
    517 palavras | 3 páginas
  • Computaçao
    2739 palavras | 11 páginas