Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 lx (A)
2 r(A)
3 w(A)
4 lx (B)
5 u(A)
6 lx (A)
7 w(A)
8 r(A)
9 lx (B) denied
10 r(B)
11 w(B)
12 u(B)
13 lx (B)
14 u(A)
15 w(B)
16 r(B)
17 u(B)
Protocolo de Bloqueo de Dos Fases
Ejemplo de L-s(B)
Read(A)
planificación que
Read(B)
respeta protocolo
Write(A)
de bloqueo de dos
U(A)
fases que requiere L-x(A)
retroceso en Read(A)
cascada Write(A)
U(A)
L-s(A)
Read(A)
abort
Protocolo de Bloqueo de Dos Fases
– Fase de decrecimiento:
Puede liberar un lock-S
Puede liberar un lock-X
Puede convertir un lock-X a un lock-S (downgrade) - bajar
Conversiones de Bloqueos
Situación:
A veces una transacción necesita trabajar con grandes cantidades
de elementos de datos de tamaño similar.
¿Qué pasa si se usan los protocolos basados en bloqueos como
los anteriores para manejar estos elementos de datos?
Granularidad Múltiple
Situación:
A veces una transacción necesita trabajar con grandes cantidades
de elementos de datos de tamaño similar.
¿Qué pasa si se usan los protocolos basados en bloqueos como
los anteriores para manejar estos elementos de datos?
Esto representa una gran sobrecarga porque se necesitarán
solicitar numerosos bloqueos y también liberarlos.
Problema: Es necesario disminuir la sobrecarga de manejo
de bloqueos producida por tener que manejar grandes
cantidades de elementos de datos de tamaño similar.
Granularidad Múltiple
IS IX S S IX X
IS
IX
S
S IX
X
Protocolo de bloqueos de granularidad múltiple
La transacción Ti puede bloquear un nodo Q, usando las
siguientes reglas:
1. La matriz de compatibilidad de bloqueos debe ser observada.
2. La raíz del árbol debe ser bloqueada primero, y puede ser bloqueada en
cualquier modo.
3. Un nodo Q puede ser bloqueado por Ti en modos S o IS solo si el padre de
Q es actualmente bloqueado por Ti en modo IX o IS.
4. Un nodo Q puede ser bloqueado por Ti en modos X, SIX, o IX solo si el
padre de Q está actualmente bloqueado por Ti en modo IX ó SIX.
5. Ti puede bloquear un nodo solo si no ha desbloqueado previamente
cualquier nodo (i.e. Ti es de dos fases).
6. Ti puede desbloquear un nodo Q solo si ninguno de los hijos de Q están
actualmente bloqueados por Ti.
Protocolo de bloqueos de granularidad múltiple