Protocolos Para Control De Concurrencia

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Protocolos Para Control De Concurrencia as PDF for free.

More details

  • Words: 428
  • Pages: 13
Protocolos para Control de Concurrencia

Protocolos para Control de Concurrencia 



La mayoría de los protocolos utilizan técnicas de bloqueo (locking) de los ítems de datos para prevenir que múltiples transacciones accedan a los ítems concurrentemente. Un bloqueo es una variable asociada con un ítem utilizada para almacenar el estado de ese ítem con respecto a posibles operaciones que le puedan ser aplicadas.

Bloqueo Binario 

Tipos de bloqueos:



Bloqueos Binarios.



Bloqueos de modo Múltiple.

Bloqueo Binario 

Un bloqueo puede tener estados o valores: bloqueado, desbloqueado (0 y 1).



Si el bloqueo sobre X es 1, ninguna operación de la base de datos que solicite el elemento podrá tener acceso si es 0, se podrá tener acceso al elemento cuando se solicite.

Bloqueo Binario 

Se debe incluir en las transacciones dos operaciones, bloquear_elemento y desbloquear_elemento.



Se deben implementar como unidades indivisibles (conocidas como secciones críticas en los sistemas operativos)



Impone una exclusión mutua sobre el elemento de datos.

Bloqueo Binario 

En la forma más simple cada bloqueo puede ser un registro con tres campos: nombre de elemento de datos, bloqueo, transacción que bloquea además de una cola para las transacciones que están esperando acceder al elemento.

Bloqueo Binario Reglas: 1. Una transacción T debe realizar una operación Bloquear_ítem(X) antes que un Leer_Ítem(X) o Escribir_ítem(X). 

2. Una transacción T debe realizar una operación Desbloquear_ítem(X) después de que todos los Leer_ítem(X) y Escribir_ítem(X) en T se han completado.

Bloqueo Binario 3. Una transacción T no realizará un Bloquear_ítem(X) si ya posee el bloqueo de X. 4. Una transacción T no realizará un Desbloquear_ítem(X) salvo que posea el bloqueo de X.

Bloqueos de modo Múltiple 

Son una ampliación de los bloqueos binarios.



Tres operaciones de bloqueo diferentes: Bloquear_para_lectura(X) Bloquear_para_escritura(X) Desbloquear_ítem(X).

  

Bloqueos de modo Múltiple    

Tres estados posibles: 'bloqueado para lectura' 'bloqueado para escritura‘ 'desbloqueado'.

Alcance de los candados 





Exclusivo: prohíbe el compartir un recurso. La primera transacción que asigna esta llave puede accederlo, mientras que la segunda debe esperar hasta que este sea liberado. Compartidos: dependiendo de las operaciones involucradas permite que los recursos sean compartidos por varios usuarios. Detección de situaciones de abrazo mortal (deadlock).

Ejemplos-Bloquear Bloquear_elemento B: si CANDADO(X)=0 (el elemento esta desbloqueado) entonces CANDADO(X)  1 (bloquear elemento) de otro modo comenzar esperar(hasta que CANDADO(X)=0 y el gestor de bloqueo despierte la transaccion); ir a B fin;

Ejemplos-Desbloquear desbloquear_elemento(X) CANDADO(X)0 (desbloquear el elemento) si alguna transacción esta esperando entonces despertar una de las transacciones que esperan;

Related Documents

Concurrencia
May 2020 21
Protocolos
June 2020 21
Protocolos
May 2020 30