O deadlock é um fenômeno que pode ocorrer em sistemas operac...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - Ele pode ser evitado dinamicamente, pela alocação cuidadosa de recursos entre os processos.
Para compreender a resposta correta, é fundamental ter um entendimento sobre o que é um deadlock em sistemas operacionais. Um deadlock é uma situação onde dois ou mais processos ficam impedidos de continuar suas execuções porque cada um está aguardando a liberação de um recurso que está sendo ocupado por outro processo. Em outras palavras, cria-se um ciclo de dependência no qual nenhum processo pode prosseguir.
Existem quatro condições necessárias para que um deadlock ocorra, conhecidas como as condições de Coffman:
- Exclusão Mútua: pelo menos um recurso deve estar em um estado não compartilhável.
- Posse e espera: um processo deve estar segurando pelo menos um recurso e esperando adquirir recursos adicionais que estão sendo atualmente segurados por outros processos.
- Não Preempção: os recursos já adquiridos pelos processos não podem ser forçadamente retirados.
- Espera Circular: deve haver um conjunto de processos, {P1, P2, ..., Pn}, de tal forma que P1 está esperando por um recurso que é segurado por P2, P2 está esperando por um recurso segurado por P3 e assim por diante até Pn que está esperando por um recurso segurado por P1.
A questão menciona a prevenção de deadlocks, o que é possível por meio de uma alocação cuidadosa de recursos entre os processos. Isso pode envolver a verificação dos estados dos recursos e a análise de riscos de deadlock antes de alocar o recurso a um processo, garantindo que pelo menos uma das condições de Coffman não seja atendida e, portanto, o deadlock seja evitado.
As outras alternativas são equívocos comuns sobre deadlocks:
- Os deadlocks podem ocorrer tanto em sistemas com um único processador quanto em sistemas multiprocessados.
- Existem vários algoritmos e técnicas para detectar e resolver deadlocks, não sendo necessário reiniciar o computador sempre que ocorrerem.
- A questão da lentidão dos processos devido à atribuição de prioridades é diferente do problema de deadlock, que é a paralisação completa de atividade dos processos envolvidos.
- O chamado Algoritmo do Avestruz é uma estratégia que consiste em ignorar o problema do deadlock, assumindo que seu custo será menor do que tentar resolvê-lo. Ele não identifica nem reinicia processos.
Sendo assim, ao entender a natureza do deadlock e as estratégias para sua prevenção, fica evidente que a alternativa B é a correta. Ela reflete um método real e viável para evitar a ocorrência de deadlocks em sistemas operacionais.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Algoritmo do Avestruz: enfia a cabeça no chão e finge que não vê. Ou seja o algoritmo finge que não viu nada.
Algoritmo do banqueiro, onde as alocações são postas cuidadosamente e assim desviando o deadlock.
Um deadblock é, em termos práticos, uma restrição, do SO, imposta a 2 ou mais processos, que estão sendo executados, a pararem, devido à ausência de recursos.
CESPE - 2018 - MPE-PI - Analista. Uma das causas de deadlocks em sistemas operacionais é a disputa por recursos do sistema que podem ser usados apenas por um processo de cada vez. CERTO
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo