Computação: Considere as afirmações abaixo e selecione a alternativa correta. I. "O objetivo das transações é garantir que todos os objetos gerenciados por um servidor permaneçam num estado consistente quando são acessados por várias transações e na presença de falhas no servidor." II. "As transações lidam com falhas de Processos e falhas de omissão em Comunicação, mas não em qualquer tipo de comportamento arbitrário." III. "Objetos que podem ser recuperados após suas falhas no servidor são chamados objetos recuperáveis. Em geral, os objetos gerenciados por um servidor podem ser armazenados em memória volátil (memória RAM) ou na memória persistente (disco rígido)."
Considere as afirmações abaixo e selecione a alternativa correta.
I. "O objetivo das transações é garantir que todos os objetos gerenciados por um servidor permaneçam num estado consistente quando são acessados por várias transações e na presença de falhas no servidor."
II. "As transações lidam com falhas de Processos e falhas de omissão em Comunicação, mas não em qualquer tipo de comportamento arbitrário."
III. "Objetos que podem ser recuperados após suas falhas no servidor são chamados objetos recuperáveis. Em geral, os objetos gerenciados por um servidor podem ser armazenados em memória volátil (memória RAM) ou na memória persistente (disco rígido)."
A) Somente as afirmações I e III são corretas.
B) Somente as afirmações II e III são corretas.
C) Todas as afirmações são corretas.
D) Todas as afirmações são incorretas.
E) Somente as afirmações I e II são corretas.
Vamos analisar cada afirmação.
I. A ideia central de transações em sistemas distribuídos/bancos de dados é justamente manter a consistência do estado dos objetos/dados diante de concorrência (várias transações acessando) e diante de falhas (especialmente falhas no servidor), por meio de propriedades como atomicidade e isolamento. Portanto, a afirmação I está correta.
II. Os mecanismos clássicos de transações (commit/abort, logs, recuperação, controle de concorrência, etc.) são projetados para tolerar falhas por parada/crash de processo e falhas de omissão na comunicação (perda/atraso/timeout levando a omissões do ponto de vista do protocolo), mas não garantem correção frente a comportamento arbitrário/bizantino (por exemplo, servidor enviando respostas inconsistentes/maliciosas). Logo, a afirmação II está correta.
III. Em sistemas transacionais, objetos/dados que podem ter seu estado restaurado após falha (tipicamente via armazenamento estável e logs) são chamados de recuperáveis. E é correto dizer que os objetos gerenciados podem estar em memória volátil (RAM) ou em memória persistente (disco/SSD), sendo esta última essencial para recuperação após quedas. Portanto, a afirmação III está correta.
Como I, II e III estão corretas, concluímos:
Alternativa correta: (C).