O deadlock (Impasse) ocorre quando processos não conseguem continuar a sua execução
Deadlock, no português, “impasse”, ocorre quando os processos não conseguem continuar sua execução porque estão esperando a liberação dos recursos para execução, um exemplo não tão comum é imaginar uma porta que abre para ambos os lados, vamos imaginar que uma pessoa está prestes a sair e chega uma pessoa querendo entrar neste lugar, nenhum deles quer ceder espaço para o outro passar, portanto há um “impasse” nesse caminho já que ele está bloqueado, do mesmo jeito que os processos podem ficar “presos” quando competem recursos.
Atualmente, com o avanço tecnológico possibilitando processadores com múltiplos núcleos, programação multithreading e sistemas operacionais que possibilitam a instalação de infinitos programas que disputam um finito grupo de recursos computacionais, é necessário desenvolver e adotar estratégias cada vez mais sofisticadas para gerenciar a disputa de recursos e garantir estabilidade para os sistemas.
A organização e implementação dessas estratégias visam evitar que processos e threads disputem por recursos que estão sendo utilizados por outros, visto que o sistema operacional normalmente não fornece recursos para evitar deadlocks. Sendo responsabilidade do desenvolvedor elaborar formas de evitá-los.
Recursos e Instâncias - Como foi dito anteriormente, os recursos são um conjunto finito, enquanto os programas podem ser infinitos. Recursos podem ter uma ou mais instâncias; por exemplo, uma impressora pode conter 3 instâncias (Impressão, Scanner e Copiadora). Essa distinção entre recursos e suas instâncias é crucial para o gerenciamento eficiente de recursos em sistemas operacionais, garantindo uma alocação adequada e evitando conflitos desnecessários entre programas que disputam as mesmas instâncias de um recurso.
0 Comentários