Concurrencia

Páginas: 12 (2944 palabras) Publicado: 22 de julio de 2010
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 lamisma estructuració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 decontrol de concurrencia 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 copiasdisponibles para pré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 variableincrementándola en una unidad , 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 setrabajaba con manejadores de archivos 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 detransacciones no resulta en una perdida 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) Modificación perdida:
En T1 (Tiempo 1), arrancaTA (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 laestaba 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 50
CUENTA 2 40
CUENTA 3 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
T5 SALDO = $130 (EN REALIDAD ES $ 120)

Para eliminar o disminuir estos 3 problemas se utilizan protocolos:

a) Bloqueos
1) S  compartido (para lecturas)
2) X  exclusivo, este puede ser por páginas/...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Concurrencia
  • Concurrente
  • concurrencia
  • Concurrencia
  • Concurrente
  • Concurrencia
  • CONCURRENCIA
  • Concurrencia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS