Em um cenário no qual os processos trabalham concorrendo e...

Próximas questões
Com base no mesmo assunto
Q526151 Sistemas Operacionais
Em um cenário no qual os processos trabalham concorrendo e compartilhando recursos, ocorrerá deadlock quando
Alternativas

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