Pular para o conteúdo principal

Questão de Banco de Dados — Sistemas de Informações Gerenciais (SIG) — FUNDATEC 2023

Banco de DadosSistemas de Informações Gerenciais (SIG)
Código
qq890099
Banca
FUNDATEC
Órgão
BRDE
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas - Administração de Banco de Dados
Considere as seguintes assertivas sobre o protocolo de bloqueio em duas fases (2PL - Two Phase Lock) em sistemas de gerência de banco de dados:I. 2PL garante possibilidade de serialização (serializability). II. 2PL evita deadlocks. III. 2PL não permite intercalação de lock e unlock. Quais estão corretas?
  1. AApenas III.
  2. BApenas I e II.
  3. CApenas I e III.
  4. DApenas II e III.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoC — Apenas I e III.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Protocolo 2PL (Two Phase Lock)

Gabarito: letra C (apenas I e III). O 2PL garante a serialização das transações (I) e não permite intercalação de lock e unlock (III), mas não evita deadlocks (II), podendo inclusive causá-los. A análise de cada assertiva a seguir detalha o fundamento.

A banca testa o conhecimento sobre o funcionamento do protocolo de bloqueio em duas fases, um mecanismo clássico de controle de concorrência. É essencial compreender a separação em duas fases e a relação com deadlocks.

Assertiva I — ✅ Correta

O 2PL assegura que a execução concorrente de transações seja equivalente a alguma execução serial, ou seja, garante a serializabilidade. O conteúdo de apoio afirma: "Essa abordagem assegura que as transações sejam executadas de forma serializável, mantendo a integridade dos dados no sistema de gerenciamento de banco de dados."

Assertiva II — ❌ Incorreta

O 2PL não evita deadlocks. Pelo contrário, ele é suscetível a esse problema, conforme o próprio texto: "uma desvantagem do 2PL é que ele não previne deadlocks, podendo ocorrer que duas ou mais transações fiquem esperando indefinidamente por recursos bloqueados." O exemplo clássico de deadlock (T1 bloqueia A, T2 bloqueia B, ambos esperam pelo recurso do outro) ilustra perfeitamente essa limitação.

Assertiva III — ✅ Correta

O 2PL divide a transação em duas fases: crescimento (apenas bloqueios, sem liberação) e encolhimento (apenas liberações, sem novos bloqueios). Uma vez que a transação libera o primeiro bloqueio (início da fase de encolhimento), não pode mais adquirir novos locks. Portanto, não é permitido intercalar operações de lock e unlock fora dessa ordem — a transação não pode, por exemplo, fazer lock, unlock, lock novamente. A descrição do protocolo confirma: "na primeira fase, a transação pode adquirir bloqueios... mas não pode liberar nenhum bloqueio. Na segunda fase, a transação pode liberar bloqueios... mas não pode adquirir novos bloqueios." A intercalação de lock e unlock é, portanto, vedada.

NÃO CAIA NESSA!

A assertiva II inverte o efeito do 2PL: muitos candidatos confundem "gradativo" com "preventivo" e acham que o protocolo evita deadlocks, quando na verdade ele é uma causa potencial. O 2PL garante serialização, mas não elimina deadlocks — para isso existem mecanismos como wait-die ou wound-wait.

Resumo: I (serializabilidade) e III (fases separadas) são características corretas do 2PL; II (prevenção de deadlocks) é falsa.

Gabarito: letra C (apenas I e III).

Link permanente: /questoes/qq890099