Deadlock e Terminação: Considere as afirmações abaixo e selecione a alternativa correta. I. Coleta de lixo distribuída: um objeto é considerado lixo se não houver mais quaisquer funções específicas que ele possa desempenhar. II. Detecção de deadlock distribuída: um deadlock distribuído ocorre quando um processo "A" aguarda até que outro processo envie uma mensagem comunicando que foi finalizado, e em que há um relacionamento de "espera" até que a conclusão do processo que está interagindo com o processo "A". III. Detecção de terminação distribuída: o problema aqui é como detectar que um algoritmo foi finalizado.

Questão

Considere as afirmações abaixo e selecione a alternativa correta.

I. Coleta de lixo distribuída: um objeto é considerado lixo se não houver mais quaisquer funções específicas que ele possa desempenhar.

II. Detecção de deadlock distribuída: um deadlock distribuído ocorre quando um processo "A" aguarda até que outro processo envie uma mensagem comunicando que foi finalizado, e em que há um relacionamento de "espera" até que a conclusão do processo que está interagindo com o processo "A".

III. Detecção de terminação distribuída: o problema aqui é como detectar que um algoritmo foi finalizado.

Alternativas

a) Somente as afirmações I e II são corretas.

b) Somente as afirmações II e III são corretas.

c) Somente as afirmações I e III são corretas.

84%

d) Todas as afirmações são incorretas.

e) Todas as afirmações são corretas.

Explicação

Vamos analisar cada afirmação.

I. Coleta de lixo distribuída Em coleta de lixo (inclusive no contexto distribuído), a ideia central é identificar objetos inatingíveis (não mais referenciados/alcansáveis a partir de um conjunto de raízes), ou seja, objetos que não podem mais ser usados por nenhum processo/parte do sistema. A frase “não houver mais quaisquer funções específicas que ele possa desempenhar” é uma forma informal de dizer que o objeto não tem mais utilidade/uso (não será mais acessado). Apesar de não ser a definição técnica mais precisa (que é baseada em alcance/referência), ela está conceitualmente alinhada ao que caracteriza “lixo”: algo que não será mais utilizado. Logo, I é correta no sentido conceitual.

II. Detecção de deadlock distribuída Deadlock distribuído é caracterizado por um ciclo de espera (wait-for) envolvendo processos (e/ou recursos) em diferentes nós: cada processo no ciclo espera por um evento/condição que somente outro processo do ciclo pode causar, e assim nenhum progride. A afirmação II descreve um caso específico (“A espera mensagem dizendo que outro finalizou”), mas não define adequadamente deadlock e mistura a noção de “esperar término” com “relacionamento de espera” de forma imprecisa. Deadlock não é, por definição, “esperar mensagem de finalização”; é a existência de dependências circulares de espera. Portanto, II é incorreta.

III. Detecção de terminação distribuída O problema de detecção de terminação distribuída é justamente determinar, em um sistema distribuído, quando um algoritmo computacional terminou globalmente (por exemplo, todos os processos estão passivos e não há mensagens em trânsito, dependendo do modelo). A afirmação diz: “o problema aqui é como detectar que um algoritmo foi finalizado”, o que corresponde ao enunciado do problema. Logo, III é correta.

Conclusão: corretas I e III בלבד.

Alternativa correta: (c).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.