DeadLock
Dois ou mais processos estão em deadlock quando cada processo envolvido aguarda por um evento que somente o próximo processo do ciclo pode fazer acontecer.
2) Quais são as quatro condições necessárias para que o deadlock ocorra? Explique cada uma.
Exclusão mútua: Cada recurso só pode estar alocado a um único processo em um determinado instante.
Espera por recurso: um processo, além dos recursos já alocados, pode estar esperando por outros recursos.
Não-preempção: Um recurso não pode ser liberado de um processo só porque outros processos desejam o mesmo recurso:
Espera circular: Um processo pode ter de esperar por umrecurso alocado a outro processo, e vice-versa.
3) Utilize um desenho para representar um deadlock envolvendo três processos e três recursos.
[pic]
Explicação: O processo 1 (P1) solicita o recurso (R2), o recurso (R2) é posse do processo 2 (P2), que solicita o recurso 3 (R3) que é posse do processo 3 (P3) que solicita o recurso 1 (R1), o que caracteriza “espera circular”.
4) Quais são as quatro formas de se lidar com o deadlock?
Evasão (algoritmo do banqueiro), a prevenção, detecção e recuperação.
5) Quais são as estratégias para evitar deadlocks? Explique cada uma.
Podemos utilizar o algoritmo do banqueiro, sendo que o sistema avalia ascondições e pode decidir em adiar ou negar uma solicitação de algum recurso, caso o sistema possa ficar inseguro ou então utilizar o gráfico de trajetória de recursos, aonde o próprio usuário acompanha e verifica em que ponto um recurso que é posse de outro processo será solicitado, impedindo que isso aconteça.
6) Quais são as estratégias para prevenir deadlocks? Explique cada uma.
Para prevenir a ocorrência de deadlocks, é preciso garantir que uma das quatros condições apresentadas, necessárias para sua existência nunca se satisfaça. A ausência da exclusão mútua certamente acaba com o problema do deadlock, pois nenhum processo terá que esperar