Deadlock
Neste trabalho apresentado à disciplina de Sistemas Operacionais, iremos abordar sobre Deadlock, o que são, quais as condições para ocorrer o mesmo, como podemos prevenir o mesmo, e seu gerenciamento manual.
Deadlock
Deadlock é uma falha e não um erro. Ocorre quando mais de um usuário alteram o mesmo registro ao mesmo tempo. Caracteriza uma situação em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execuções, ou seja, ficam bloqueados. Trata-se de um problema bastante estudado no contexto dos Sistemas Operacionais, assim como em outras disciplinas, como banco de dados, pois é inerente à própria natureza desses sistemas. Deadlock é uma condição que pode ocorrer em qualquer sistema com vários threads, não só em sistemas de gerenciamento de banco de dados relacional, e pode ocorrer para outros recursos, além de bloqueios de objetos em bancos de dados. Por exemplo, um thread em um sistema operacional de vários threads pode adquirir um ou mais recursos, como bloqueios de memória. Se o recurso sendo adquirido é atualmente propriedade de outro thread, o primeiro thread podeter que esperar o thread proprietário liberar o recurso alvo. O thread em espera tem uma dependência do thread proprietário para aquele recurso em particular. Em uma instância do Mecanismo de Banco de Dados, sessões podem fazer um deadlock ao adquirir recursos que não são de bancode dados, como memória ou threads. O deadlock ocorre com um conjunto de processos e recursos não-preemptíveis, onde um ou mais processos desse conjunto está aguardando a liberação de um recurso por um outro processo que, por sua vez, aguarda a liberação de outro recurso alocado ou dependente do primeiro processo. Evitar deadlock é praticamente impossível. Por isso, a prevenção de deadlock tenta garantir que pelo menos uma das condições para ocorrência de deadlock, não aconteça. Sabendo que são quatro as condições