Imagem de fundo

Considere duas transações, T1 e T2, que efetuam operações...

Considere duas transações, T1 e T2, que efetuam operações de bloqueio (lock) e desbloqueio (unlock), além de operações de leitura (read) e gravação (write), sobre itens P e Q em um banco de dados relacional. Um SGBD precisa definir um escalonamento (schedule) que execute essas duas transações intercaladas no tempo, satisfazendo o protocolo de controle de concorrência por bloqueio em duas fases (2PL - 2 phase locking).


Qual escalonamento satisfaz o protocolo 2PL?


A

T2: lock(Q)

T2: read(Q)

T2: write(Q)

T2: unlock(Q)

T1: lock(P)

T1: read(P)

T1: unlock(P)

T1: lock(Q)

T1: write(Q)

T1: unlock(Q)


B

T1: lock(P)

T1: read(P)

T1: unlock(P)

T1: lock(Q)

T1: write(Q)

T1: unlock(Q)

T2: lock(Q)

T2: read(Q)

T2: write(Q)

T2: unlock(Q)


C

T2: lock(Q)

T2: read(Q)

T1: lock(Q)

T1: write(Q)

T1: unlock(Q)

T1: lock(P)

T1: read(P)

T1: unlock(P)

T2: write(Q)

T2: unlock(Q)


D

T1: lock(P)

T2: lock(Q)

T1: read(P)

T1: unlock(P)

T1: lock(Q)

T1: write(Q)

T1: unlock(Q)

T2: read(Q)

T2: write(Q)

T2: unlock(Q)


E

T1: lock(P)

T1: lock(Q)

T1: read(P)

T1: write(Q)

T1: unlock(P)

T1: unlock(Q)

T2: lock(Q)

T2: read(Q)

T2: write(Q)

T2: unlock(Q)