Um sistema distribuído é um conjunto de computadores indepen...

Próximas questões
Com base no mesmo assunto
Q2172680 Sistemas Operacionais
Um sistema distribuído é um conjunto de computadores independentes que se apresenta aos seus usuários como um sistema único e coerente. Em um sistema distribuído, ocorrerá um deadlock quando um ou mais processos esperam infinitamente por recursos que estão em uso no próprio sistema distribuído. Analise as assertivas abaixo e assinale a alternativa correta.
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.
Alternativas

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