Post on 07-Jun-2015
Protocolo de bloqueo de dos fases
Alexander Herrera MLuis Alonso Vargas M
Por qué no permitir solo ejecuciones secuenciales
• Se hace mejor uso de los recursos de Hardware
• Aumento de la productividad (transacciones / tiempo)
• Reducción de los tiempos de respuesta
Protocolo Bloqueo de dos fases
• Este protocolo asegura la secuencialidad en una transacción, debido a que exige que cada transacción realice las peticiones de bloqueo y desbloqueo en dos fases.
Conservador o estático
• Requiere que una transacción bloquee todos los elementos a los que tendrá acceso antes de 3 Métodos de control de concurrencia comenzar a ejecutarse. Una vez bloqueados, no habrá conversión de bloqueos de lectura a escritura.
• Si no es posible bloquearlos todos, la transacción no bloqueará nada y esperará a poder bloquear todos los elementos necesarios en su totalidad.
Estricto
• La transacción no libera ninguno de sus bloqueos de escritura antes de confirmarse o abortar.
Riguroso
• Es una versión más restrictiva del estricto. Similar al anterior, pero además tampoco libera los bloqueos de lectura. Es más fácil de implementar.
Bloqueos exclusivos
• Los bloqueos exclusivos evitan que transacciones simultáneas tengan acceso a un recurso
Fases del protocolo
• Fase de crecimiento.- Una transacción puede obtener bloqueos pero no puede liberarlos.
• Fase de decrecimiento.- Una transacción puede liberar bloqueos pero no puede obtener ninguno nuevo.
Ejemplo