Aula06 2

1185 palavras 5 páginas
Sistemas Operacionais

Problemas Clássicos de Comunicação entre
Processos
Norton Trevisan Roman
Marcelo Morandini
Jó Ueyama

Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio
Carlos Sementille, Paula Prata e nas transparências fornecidas no site de compra do livro "Sistemas Operacionais Modernos"

Produtor – Consumidor




Um sistema é composto por entidades produtoras e entidades consumidoras.
Entidades produtoras






Responsáveis pela produção de itens que são armazenados em um buffer (ou em uma fila)
Itens produzidos podem ser consumidos por qualquer consumidor

Entidades consumidoras




Consomem os itens armazenados no buffer (ou na fila) Itens consumidos podem ser de qualquer produtor

Produtor – Consumidor

Jantar dos Filósofos


Cinco filósofos estão sentados ao redor de uma mesa circular para o jantar.




Cada filósofo possui um prato para comer macarrão.
Além disso, eles dispõem de hashis, em vez de garfos 



Cada um precisa de 2 hashis

Entre cada par de pratos existe apenas um hashi.


4
3

0
2
1

Hashis precisam ser compartilhados de forma sincronizada

Jantar dos Filósofos


Os filósofos comem e pensam, alternadamente




Além disso, quando comem, pegam apenas um hashi por vez




Não se atém a apenas uma das tarefas

Se conseguir pegar os dois, come por alguns instantes e depois larga os hashis

Como evitar que fiquem bloqueados? Jantar dos Filósofos

tópicos

Que fazer???

Jantar dos Filósofos

tópicos

Jantar dos Filósofos

Jantar dos Filósofos


Isso funciona?

Jantar dos Filósofos


Isso funciona?


Em take_fork():




Se todos os filósofos pegarem o hashi da esquerda, nenhum pegará o da direita – deadlock

E como solucionar?

Jantar dos Filósofos


Isso funciona?


Em take_fork():




Se todos os filósofos pegarem o hashi da esquerda, nenhum pegará o da direita – deadlock

E como solucionar?


Após pegar o hashi da esquerda, o filósofo verifica se o da direita está livre. Se não

Relacionados

  • Aula06 Diagramas De Fases 2
    573 palavras | 3 páginas
  • Aula06 Hardware Parte 2
    747 palavras | 3 páginas
  • AULA6
    4835 palavras | 20 páginas
  • Acompanhamento de aula
    7439 palavras | 30 páginas
  • SINALIZAÇÃO CELULAR
    3166 palavras | 13 páginas
  • aloka
    338 palavras | 2 páginas
  • crescer e aprender
    389 palavras | 2 páginas
  • Pneumática
    700 palavras | 3 páginas
  • CDRC Lista Exercicios de Redes
    609 palavras | 3 páginas
  • atps calculo 2 etapa 2 passo 3 e 4
    830 palavras | 4 páginas