Questão de Banco de Dados — Sistemas de Informações Gerenciais (SIG) — FUNDATEC 2023
Banco de Dados›Sistemas 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?
AApenas III.
BApenas I e II.
CApenas I e III.
DApenas II e III.
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.