b-
condicoes para deadlock:
1- mutex (exclusao mutua) - cada recurso esta ou em um processo ou disponivel
2- posse e espera - processos que retêm recursos concedidos antes podem querer novos recursos.
3- nao-preempcao - recursos têm que ser liberados pelo procoeosso que os retém. Em escalonamento preemptivo, um processo de maior prioridade pode obter recurso/ CPU passando à frente de outro.
4- espera circular - cada processo em uma cadeia espera pelo recurso do seguinte, como na situacao da questao.
Definição de Deadlock
Deadlock é definido da seguinte forma: Um conjunto de processos do Sistema Operacional está em situação de Deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente outro processo desse mesmo conjunto poderá fazer acontecer.
Condições para ocorrência de Deadlock
Assim, nenhum processo consegue executar recurso que precisa, ou liberar recurso que está de posse, ou ser acordado, pois o recurso que precisa está ocupado.
Vale detalhar que recurso é uma sequência de eventos necessários ao uso de um processo, assim pode ser dispositivos ou qualquer item compartilhado.
As condições para se entrar no estado de Deadlock:
Exclusão Mútua: todo recurso está ou associado a um único processo ou disponível;
Posse e Espera: processos que retêm recursos podem solicitar novos recursos;
Não Preempção: recursos concedidos previamente não podem ser forçosamente tomados;
Espera Circular: deve haver uma cadeia circular de dois ou mais processos, na qual cada um está à espera de recursos retido pelo membro seguinte dessa cadeia.
Todas essas condições devem ocorrer simultaneamente para que ocorra Deadlock. Se uma dessas condições não ocorrer, não haverá deadlock.
Fonte: https://www.oficinadanet.com.br/post/12786-sistemas-operacionais-o-que-e-deadlock