Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Sistemas Operativos Distribuidos: Transacciones, Control de Concurrencia y Replicación, Diapositivas de Sistemas Operativos

Este documento pertenece a la materia de Ingeniería en Sistemas Computacionales de la carrera de Informática. Se trata de la unidad 4 del módulo Sistemas Operativos Distribuidos, donde se estudian los conceptos básicos de transacciones, control de concurrencia y replicación. Las transacciones son unidades de trabajo que agrupan varias operaciones en un sistema gestor de base de datos, necesarias en casos donde las operaciones a realizar pueden considerarse una sola unidad. El control de concurrencia es necesario cuando se ejecutan varias transacciones de manera simultánea en distintos procesadores, y se necesita un mecanismo para mantener a cada uno lejos del camino del otro. Se presentan tipos de concurrencia de transacciones, como optimista y pesimista, y se analiza un ejemplo de sistema de reservación de tickets de avión.

Tipo: Diapositivas

2019/2020

Subido el 15/01/2020

Ana199920
Ana199920 🇲🇽

1 documento

1 / 34

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
SISTEMAS OPERATIVOS DISTRIBUIDOS
INGENIERA EN SISTEMAS COMPUTACIONALES
GRUPOS: SC71
PSP: LUCINA YACIRA CUEVAS LEYVA
Unidad 4: TRANSACCIONES, CONTROL DE CONCURRENCIA Y
REPLICACIÓN
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Vista previa parcial del texto

¡Descarga Sistemas Operativos Distribuidos: Transacciones, Control de Concurrencia y Replicación y más Diapositivas en PDF de Sistemas Operativos solo en Docsity!

SISTEMAS OPERATIVOS DISTRIBUIDOS

INGENIERA EN SISTEMAS COMPUTACIONALES

GRUPOS: SC

PSP: LUCINA YACIRA CUEVAS LEYVA

Unidad 4: TRANSACCIONES, CONTROL DE CONCURRENCIA Y

REPLICACIÓN

◼ Describir los conceptos de transacciones, control de concurrencia y replicación.

Los SGBDs son sistemas concurrentes, i.e., admiten la ejecución concurrente de consultas. Ejemplo: Sistema de venta de billetes de avión. Por tanto, es necesario: Modelo de procesos concurrentes para admitir operaciones concurrentes que preserven la integridad de los datos.

¿Transacción?

¿QUE ES UNA TRANSACCIÓN?

Es una unidad lógica de trabajo (procesamiento) de la base de datos que

incluye una o mas operaciones de acceso a la base de datos, que

pueden ser de inserción, modificación o recuperación.

◼ Las transacciones pueden limitarse de forma explicita con sentencias de tipo iniciar transacción y terminar transacción. iniciar T .....operaciones... terminar T

¿QUÉ ES CONCURRENCIA?

Es cuando muchas transacciones acceden a la misma base de datos al

mismo tiempo. Especialmente, cuando acceden a los mismos datos de la

misma base de datos al mismo tiempo

CONTROL DE CONCURRENCIA

◼ Cuando se ejecutan varias transacciones de manera simultánea en

distintos procesadores, se necesita cierto mecanismo para mantener a

cada uno lejos del camino del otro. Este mecanismo es

llamado algoritmo de control de concurrencia.

EJEMPLO : UN SISTEMA DE RESERVACIÓN DE TICKETS DE AVIÓN

◼ Digamos que tenemos un sistema de reservación donde varios usuarios

compiten por tickets de avión. En una determinada instancia de tiempo el

usuario 1 pide a la base de datos los asientos disponibles, en ese momento el

sistema le devuelve que existen 2 con lo cual puede realizar su reservación. En el

mismo instante de tiempo que el usuario 1 hizo la consulta el usuario 2

también realizó una consulta sobre los asientos disponibles. Aquí pueden

suceder varias cosas , pero el caso que nos interesa es que uno de los dos

usuarios realice la reservación primero y consuma los recursos disponibles. Esto

implica que el segundo usuario(todavía sin saberlo) está trabajando con un dato

que ya no existe o no está disponible.

◼ Que pasaría si el sistema no esta preparado para esta situación?

CONTINUACIÓN… ◼ El control de concurrencia está dividido en 2 aproximaciones, bloqueo OPTIMISTA y PESIMISTA. Para el caso del ejemplo anterior se suele utilizar el bloqueo OPTIMISTA, que verifica en el momento de la realización de la operación si el estado de los recursos es el mismo que al inicio. En caso de fallar pues se envía una notificación al usuario de lo que ha pasado.

COSAS QUE PUEDEN SALIR MAL

TRANSFERENCIA T1 PREMIO T LEER (A) A= A- ESCRIBIR (A) LEER (B) B=B+ ESCRIBIR (B) LEER (A) A=A+ ESCRIBIR (A) T2 lee el valor de A antes de que T1 lo pueda actualizar, luego t1 escribe A, pero después t2 sobre escribe A con un valor incorrecto esta lectura se hace antes que T1 tenga oportunidad de actualizar A Esta escritura hace que el valor de A deT1 se pierda

PROPIEDADES ACID:

◼ Atomicity,

◼ Consistency

◼ Isolation

◼ Durability

ATOMICIDAD

Una transacción es una unidad de trabajo en la que se produce una serie de operaciones entre las instrucciones BEGIN TRANSACTION y END TRANSACTION de una aplicación. Una transacción se ejecuta exactamente una vez y tiene carácter "atómico" (de subdivisión), es decir, el trabajo se realiza en su totalidad o no se realiza en ningún caso. Las operaciones asociadas a una transacción comparten normalmente un objetivo común y son interdependientes. Si el sistema ejecutase únicamente una parte de las operaciones, podría poner en peligro el objetivo final de la transacción. La atomicidad elimina la posibilidad de procesar un subconjunto de operaciones.

CONSISTENCIA

Una transacción es una unidad de integridad porque mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado de datos igualmente coherente. La consistencia requiere que los datos enlazados mediante una transacción se mantengan en términos de semántica. Una parte de la responsabilidad para mantener la coherencia recae en el programador de la aplicación que debe asegurarse de que ésta exija todas las restricciones de integridad conocidas. Por ejemplo, en el desarrollo de una aplicación en la que se transfiere dinero, se debe evitar el desplazamiento arbitrario de los puntos decimales durante la transferencia.