Um sistema distribuído é um conjunto de computadores indepen...
I. Uma das condições para ocorrer deadlock é a exclusão mútua, onde cada recurso é alocado a exatamente um processo ou está disponível. II. A única forma de resolver um deadlock é matando os processos envolvidos no deadlock. III. Um problema relacionado com o deadlock é a inanição (starvation), quando por alguma condição de seleção de processos/programas algum deles nunca recebe o recurso que precisa.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - Apenas I e III estão corretas.
Para entender esse gabarito, é importante compreender o conceito de deadlock e as condições necessárias para que ele ocorra em sistemas distribuídos. Vamos analisar cada assertiva:
I - Uma das condições para ocorrer deadlock é a exclusão mútua, onde cada recurso é alocado a exatamente um processo ou está disponível.
Isso está correto. A exclusão mútua é uma das quatro condições clássicas necessárias para que ocorra um deadlock. As outras três são: espera circular, retenção e espera e não preempção. A exclusão mútua ocorre quando recursos não podem ser compartilhados, ou seja, um recurso só pode ser atribuído a um processo por vez.
II - A única forma de resolver um deadlock é matando os processos envolvidos no deadlock.
Esta afirmativa é incorreta. Matar os processos é uma abordagem drástica e não é a única solução para deadlocks. Existem outras estratégias, como prevenção, evitação, detecção e recuperação de deadlock que não necessariamente envolvem a finalização dos processos. Algumas técnicas envolvem a alocação de recursos de forma que se evite a espera circular, ou então a detecção de ciclos de espera e sua resolução por outros meios que não a terminação dos processos.
III - Um problema relacionado com o deadlock é a inanição (starvation), quando por alguma condição de seleção de processos/programas algum deles nunca recebe o recurso que precisa.
Esta afirmativa está correta. A inanição, ou starvation, é um fenômeno relacionado onde um processo nunca é capaz de acessar os recursos de que precisa porque outros processos com maior prioridade ou com tempo de solicitação anterior estão constantemente adquirindo-os. Isso pode ocorrer em um sistema que resolve deadlocks, mas deixa de lado processos de baixa prioridade indefinidamente.
Portanto, a resposta correta é a alternativa D, já que as assertivas I e III estão corretas, enquanto a II está incorreta.
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
A exclusão mutua não é causa, mas solução. Ele trabalha com tempos do processador, onde ele "escalona" os recursos utilizados pelos processos.
Condições para Deadlock ocorrer:
- Condição de não-preempção: recursos já alocados a processos não podem ser tomados a força. Eles precisam ser liberados explicitamente pelo processo que detém a sua posse
- Condição de exclusão mútua: cada recurso ou está alocado a exatamente um processo ou está disponível.
- Condição de posse-e-espera: cada processo pode solicitar um recurso, ter esse recurso alocado para si e ficar bloqueado esperando por um outro recurso.
- Condição de espera circular: deve existir uma cadeia circular de dois ou mais processos, cada um dos quais esperando por um recurso que está com o próximo membro da cadeia.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo