1) Deadlock ocorre quando processos esperam indefinidamente por recursos que estão sendo utilizados por outros processos, formando um ciclo de dependência.
2) Para evitar deadlocks, é necessário garantir que pelo menos uma das quatro condições necessárias não ocorra: exclusão mútua, posse e espera, não preempção e espera circular.
3) Protocolos como a alocação de recursos em ordem crescente e liberação de todos os recursos antes de solicitar novos podem prevenir deadlocks.