Em um cenário no qual os processos trabalham concorrendo e...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - um processo A espera por um processo B, que espera pelo processo C, que espera pelo processo A.
Vamos começar entendendo o que é deadlock em sistemas operacionais. Deadlock, ou impasse, é uma situação que ocorre em sistemas de computação multitarefa quando dois ou mais processos ficam bloqueados, esperando indefinidamente por recursos que estão sendo segurados por outros processos na mesma condição de espera. Desta forma, nenhum dos processos consegue prosseguir com sua execução.
Para um deadlock ocorrer, quatro condições de Coffman devem ser atendidas simultaneamente:
- Exclusão mútua: pelo menos um recurso deve ser mantido em modo 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 segurados por outros processos.
- Não preempção: recursos não podem ser retirados à força dos processos que os têm.
- Espera circular: deve existir um conjunto de processos em espera cíclica, onde cada processo da sequência está esperando pelo próximo na fila.
Na alternativa B, temos uma descrição clara da condição de espera circular, que é um dos critérios para a ocorrência de deadlock. Nesta situação, processo A está esperando por um recurso retido pelo processo B, que por sua vez espera por um recurso retido pelo processo C, e este último espera por um recurso retido pelo processo A. Como cada um está esperando pelo outro em um ciclo, nenhum processo consegue prosseguir, caracterizando o deadlock.
É importante destacar que, nas outras alternativas, as condições mencionadas não necessariamente levam a um deadlock:
- Alternativa A fala sobre a retirada de recursos, que na verdade poderia ser uma solução para o deadlock se implementada corretamente (preempção).
- Alternativa C menciona a falta de acesso exclusivo a recursos, o que por si só não causa deadlock.
- Alternativa D sugere que a alocação de recursos a qualquer momento possa causar deadlock, o que também não é verdade; a gestão correta dessas alocações pode evitar impasses.
- Alternativa E descreve a execução simultânea de processos, um conceito central em sistemas multitarefa, mas que não implica diretamente em deadlock.
Portanto, a única alternativa que descreve corretamente uma situação de deadlock é a B, pois exemplifica uma espera circular entre os processos envolvidos.
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
Deadlock (interbloqueio, blocagem, impasse), no contexto de sistemas operacionais(SO), refere-se a uma situação em que ocorre um impasse, e dois ou mais processos ficam impedidos de continuar suas execuções - ou seja, ficam bloqueados, esperando uns pelos outros. Trata-se de um problema bastante estudado em sistemas operacionais e bancos de dados, pois é inerente à própria natureza desses sistemas.
https://pt.wikipedia.org/wiki/Deadlock
Condições para Deadlock
Não preempção
Exclusão mútua
Espera circular
Posse e espera
A. Preempção → oposto de 'Não Preempção' - uma das condições para deadlock
B. Espera Circular → uma das condições para deadlock
C. Recurso compartilhado → oposto de 'Exclusão Mútua' - uma das condições para deadlock
D. Preempção → oposto de 'Não Preempção' - uma das condições para deadlock
E. Não é uma característica que gera deadlock
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo