00033863

Páginas: 52 (12821 palabras) Publicado: 10 de octubre de 2015
UNIDAD III
CONCURRENCIA
3.1 DEFINICION
La concurrencia es un fenómeno que se presenta en varios contextos. Uno de ellos es la
multiprogramación ya que el tiempo del procesador es compartido dinámicamente por varios procesos.
Otro caso son las aplicaciones estructuradas, donde la programación estructurada se implementa como
un conjunto de procesos concurrentes. Y por ultimo se tiene que la mismaestructuración recién
mencionada es utilizada en el diseño de los sistemas operativos, los cuales se implementan como un
conjunto de procesos.
El termino concurrencia se refiere al hecho de que los DBMS(SISTEMAS DE ADMINISTRACION DE
BD)permiten que muchas transacciones puedan accesar a una misma base de datos a la vez..
En un sistema de estos se necesitan algún tipo de mecanismos de control deconcurrencia para asegurar que
las transacciones concurrentes no interfieran entre si.
En sistemas multiusuario, es necesario un mecanismo para controlar la concurrencia. Se pueden producir
inconsistencias importantes derivadas del acceso concurrente, como por ejemplo, el problema de la operación
perdida.
En un sistema de biblioteca, existe un campo que almacena el numero de copias disponibles parapréstamo.
Este campo debe incrementarse en uno cada vez que se devuelve un ejemplar del libro y disminuirse en uno
cada vez que se presta un ejemplar.
Si existen varias bibliotecarias, una de ellas inicia la transacción t1, leyendo la variable numero ejemplares
(n), cuyo contenido se guarda en la variable n1. Tiempo después, otra bibliotecaria podría leer la misma
variable incrementándola en unaunidad , transacción t2. Después, la transacción t1 añade una unidad a esa
variable y la actualiza, el resultado es erróneo, ya que la variable N debería haber aumentado en 2 unidades, y
solo ha aumentado en una. La transacción t2 se ha perdido.
Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los
datos.
Cuando se trabajaba con manejadores dearchivos y se estaba actualizando un determinado registro, ningún
otro usuario podía actualizar el mismo archivo; aunque el registro a trabajar fuera otro. Con esta característica,
ya más de un usuario puede accesar a un mismo registro y actualizarlo.
El objetivo fundamental del control de concurrencia de base de datos es garantizar que la ejecución
concurrente de transacciones no resulta en unaperdida de consistencia de la base de datos.
La concurrencia se da cuando dos transacciones están interconectadas, lo que es común en un entorno
multiusuario. Así pues en un entorno de multiprogramación es posible ejecutar varias transacciones de manera
concurrente.
Ejemplo
3.2 PROBLEMAS QUE SE PRESENTAN
1

1) Modificación perdida:
En T1 (Tiempo 1), arranca TA (Transacción A), leen dato X
En T2(Tiempo 2), arranca TB (Transacción B), leen dato X datos = 100
En T3 (Tiempo 3), modifica TA (Transacción A), dato X (aumenta el 100%) datos = 200
En T4 (Tiempo 4), modifica TB, dato X (en base a lo que leyó en T2) (aumenta el 50%) 150 datos final.
2)Dependencia no COMMITADA
Permitir leer un dato sin esperar que una transacción que la estaba modificando haga su commit.
3) Análisis consistente:
TA(Transacción A): suma saldos
TB (Transacción B): transfiere $10 de cuenta 1 a cuenta3
CUENTA 1
CUENTA 2
CUENTA 3

50
40
30

TA CUENTA 1 = $50
T1 SALDO = $50
__________________________________
TA CUENTA 2 = $40
T2 SALDO 2 = $90
__________________________________
TB CUENTA 1 = $50
T3 CUENTA 1 = $50 − $10
CUENTA 1 = $40
__________________________________
TB CUENTA 3 = $30 + $10
T4 CUENTA 3 = $40___________________________________
TA CUENTA 3 = $40

2

T5 SALDO = $130 (EN REALIDAD ES $ 120)
Para eliminar o disminuir estos 3 problemas se utilizan protocolos:
a) Bloqueos
• S compartido (para lecturas)
• X exclusivo, este puede ser por páginas/ tabla/ registros
TB/ TA
NO BLOQUEO
S
X

NO BLOQUEO
ACCEDE A OBJETO
ACCEDE A OBJETO
NO ACCEDE

S
ACCEDE A OBJETO
ACCEDE A OBJETO
NO ACCEDE

X
NO ACCEDE...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS