Procesamiento de Transacciones

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Procesamiento de Transacciones"

Transcripción

1 Procesamiento de Transacciones Material basado en los capítulos 12 y 13 del libro: Sistemas Distribuidos. CyD. G. Coulouris, J. Dollimore and T. Kindberg. Contenido Definiciones Básicas Sincronización Transacciones Control de Concurrencia:Problemas Equivalencia Secuencial Operaciones Conflictivas Contenido Mecanismos de Control de Concurrencia Control de Concurrencia a través de bloqueos Control Optimista de la Concurrencia Ordenación por marcas de tiempo 1

2 Contenido Transacciones Distribuidas Sistema Manejador de Transacciones Transacciones Planas y Anidadas Commit y Abort en un Sistema Distribuido Control de Concurrencia Por Bloqueo Optimista Marcas Temporales Contenido Recuperación de Transacciones Transacciones En algunas situaciones, los clientes necesitan que una secuencia de solicitudes separadas al servidor: buscarcuenta, deposita, extrae, obtenerbalance sean atómicas: Estén libres de interferencia por operaciones de otros clientes Todas las operaciones se deben completar con éxito o no tener ningún efecto si el servidor falla. 2

3 Transacciones Provienen de los sistemas de Gestión de BD. En este contexto una transacción es la ejecución de un programa que accede a las BD. Fueron introducidas en los sistemas distribuidos en la forma de servidores de archivos transaccionales (secuencia de operaciones sobre archivos) Transacciones Una transacción es una colección de acciones que hacen transformaciones de los estados de un sistema preservando la consistencia del sistema El manejo de transacciones puede venir como parte del middleware. Por ejemplo, CORBA, proporciona la especificación para un servicio de transacciones sobre objetos. Transacciones Una transacción aplica a datos recuperables, puede estar formada por operaciones simples o compuestas y su intención es que sea atómica. Hay dos aspectos que se deben cumplir para lograr la atomicidad: 1. Todo-o-nada: si una transacción termina exitosamente, los efectos de todas sus operaciones son registrados en los objetos, o si falla o es abortada deliberadamente, no tiene ningún efecto. 3

4 Transacciones La propiedad todo-o-nada tiene otros dos aspectos en sí misma: Atomicidad ante fallas: los efectos son atómicos aun cuando el servidor falla. Los datos que se mantienen en disco deben sobrevivir ante la falla del servidor. Durabilidad: después que una transacción ha terminado exitosamente, todos sus efectos son salvados en almacenamiento permanente. Transacciones 2. Aislamiento: cada transacción debe ser ejecutada sin interferencias de otras transacciones, es decir, los resultados intermedios de una transacción no deben ser visibles a otras transacciones. Estas propiedades tambien son conocidas como propiedades ACID Propiedades ACID Atomicidad (Atomicity): todo o nada. Consistencia (Consistency): una transacción hace pasar el sistema de un estado consistente a otro. Es generalmente responsabilidad de los programadores de servidores y clientes el asegurar que los datos queden en un estado consistente. Aislamiento (Isolation) Durabilidad (Durability) 4

5 Propiedades ACID Para soportar la atomicidad ante fallas y la durabilidad, los objetos de datos deben ser recuperables (estar disponibles en almacenamiento permanente). Cuando cae un servidor (falla de hardware o software) los cambios de todas las transacciones que culminaron deben estar disponibles en el almacenamiento permanente. Cuando el servidor sea reemplazado se recuperarán los objetos para reflejar TODO o NADA. Propiedades ACID Un servidor que soporta transacciones debe sincronizar las operaciones para asegurar que se satisface el requisito de aislamiento. Una forma de hacerlo es serializando o secuencializando las operaciones. Esto puede ser inaceptable desde el punto de vista del desempeño. La idea de los servidores es maximizar la concurrencia, se permitirá entonces que se entremezclen las transacciones (o sus componentes), si el efecto es el mismo que si se ejecutaran secuencialmente. Es decir son secuencialmente equivalentes. Condiciones de Terminación Una transacción siempre termina, aun en la presencia de fallas. Si una transacción termina de manera exitosa se dice que la transacción hace un commit (consumación) Si la transacción se detiene sin terminar su tarea, se dice que la transacción aborta. Cuando la transacción es abortada, su ejecución se detiene y todas las acciones ejecutadas hasta el momento se deshacen (undone) regresando a la base de datos al estado antes de su ejecución. A esta operación también se le conoce como rollback. 5

6 C C C TPS Transaction Manager scheduler Data Manager Recovery Manager Cache Manager Estructura de un Sistema de Manejo de Transacciones El Manejador de Transacciones valida las peticiones de los clientes y pasa la transacción al planificador. El Planificador usa alguna estrategia para permitir una ejecución concurrente que sea secuencialmente equivalente. Manejador de Datos: transferir los datos a memoria principal, escribir actualizaciones, recuperarse ante fallas. Estructura de un Sistema de Manejo de Transacciones El manejador de transacciones (Coordinador) dá a cada transacción un identificador TID Operaciones disponibles al Cliente: tid BeginTransaction() para el comienzo de una transacción, devuelve el TID EndTransaction(tid), devuelve abort o commit dependiendo si la transacción se ha podido o no realizar Abort(tid): El cliente puede abortar la transacción. Estructura de las Transacciones Planas: consisten de una secuencia de operaciones primitivas encerradas entre las palabras clave Begin Transaction y End Transaction. Por ejemplo, Begin_transaction Reservación... End transaction 6

7 Estructura de las Transacciones Anidadas: las operaciones de una transacción pueden. Por ejemplo, ser transacciones Begin_transaction Reservación... Begin_transaction Vuelo... end. {Vuelo}... Begin_transaction Hotel end {Hotel} End_transaction Reservación T: Transacción de Niver Superior Commit T1: Commit provisional Abort T2: T11 T12 T21 Commit provisional Commit provisional T211 Commit provisional Commit provisional Transacciones Anidadas Una transacción anidada dentro de otra transacción conserva las mismas propiedades que la de sus padres, esto implica, que puede contener así mismo transacciones dentro de ella. Existen restricciones obvias para una transacción anidada: Debe empezar después que su padre y debe terminar antes que él. El commit de una subtransacción es condicional al commit de su padre, en otras palabras, si el padre de una o varias transacciones aborta, las subtransacciones hijas también serán abortadas. 7

8 Transacciones Anidadas Las transacciones anidadas proporcionan un nivel más alto de concurrencia entre transacciones. Ya que una transacción consiste de varios transacciones, es posible tener más concurrencia dentro de una sola transacción. Las transacciones de un mismo nivel se pueden ejecutar en forma concurrente pero sus accesos se deben secuencializar. Transacciones Anidadas Las transacciones pueden hacer commit o abort de forma independiente. Cuando una subtransacción aborta, la transacción padre puede elegir una sub-transacción alternativa para completar su tarea. Transacciones Anidadas Reglas para el commit de transacciones anidadas: Una transacción puede hacer commit o abort sólo después que han terminado las transacciones hijas. Cuando una subtransacción finaliza, decide de forma independiente si hace un commit provisional o aborta. Una decisión de abortar es definitiva. 8

9 Transacciones Anidadas Reglas para el commit de transacciones anidadas: Cuando un padre aborta, todas las subtransacciones abortan (aún cuando éstas hayan realizado un commit provisional) Cuando una subtransacción aborta, el padre puede decidir abortar o no. Si las transacciones de alto nivel hacen COMMIT, se pueden consumar también todas las subtransacciones que hayan realizado un COMMIT provisional. Los efectos de una subtransacción no son permanentes hasta que no se consuma la transacción de nivel superior Commit T: Transacción de Niver Superior T1: Commit provisional Abort T2: T11 T12 T21 Commit provisional Commit provisional T211 Commit provisional Commit provisional Control de Concurrencia Las versiones provisionales se transfieren a los objetos sólo cuando una transacción hace commit; en este caso se transfieren también a memoria permanente. Cuando una transacción aborta, sus versiones provisionales se borran. 9

10 Control de Concurrencia: Problemas que generan las operaciones conflictivas Actualizaciones Perdidas T: balance = b.obtenbalance(); b.ponbalance(balance*1.1) a.extrae(balance/10) U: balance = b.obtenbalance(); b.ponbalance(balance*1.1) c.extrae(balance/10) balance = b.obtenbalance(); 200$ b.ponbalance(balance*1.1) 220$ a.extrae(balance/10) balance = b.obtenbalance(); 200$ b.ponbalance(balance*1.1) 220$ c.extrae(balance/10) El valor final de B ha debido ser 242$, no 220$. U leyó un valor antes de que T lo actualizara. El problema viene por paralelizar o pretender que las 2 transacciones se ejecuten concurrentemente cuando deben ejecutarse en forma secuencial. Control de Concurrencia: Problemas que generan las operaciones conflictivas Recuperaciones Inconsistentes V: a.extrae(100) b.deposita(100) W: Unasucursal.totalSucursal(); /* El valor inicial de ambas cuentas es 200 */ a.extrae(100) $100 b.deposita(100) $300 Total = a.obtenbalance(); total = total + b.balance; total = total + c.balance(): W ve el valor nuevo de a y el Valor viejo de b. No se está cumpliendo la propiedad de isolation. 10

11 Control de Concurrencia: Sol. a actualizaciones perdidas. balance = b.obtenbalance(); 200$ b.ponbalance(balance*1.1) 220$ a.extrae(balance/10) balance = b.obtenbalance(); 220$ b.ponbalance(balance*1.1) 242$ c.extrae(balance/10) -Se puede conseguir equivalencia secuencial secuenciando el acceso al objeto. -La tabla es un ejemplo de secuenciamiento + cierto grado de concurrencia. Control de Concurrencia Operaciones conflictivas: 2 operaciones son conflictivas cuando sus efectos combinados dependen del orden en el cual fueron ejecutadas. Se consideran conflictivas las siguientes operaciones: read read no conflictivas read write conflictivas write write conflictivas Cuando dos o más transacciones son conflictivas es necesario su serialización para asegurar la consistencia de los datos después de su ejecución. Control de Concurrencia Equivalencia secuencial: Para cualquier par de transacciones es posible determinar un orden de operaciones conflictivas sobre objetos accedidos por ambas. La equivalencia secuencial se logra de la siguiente forma: a. - Todos los accesos de una transacción a un objeto particular (operaciones conflictivas) deben secuencializarse con respecto a su acceso por otras transacciones. 11

12 Control de Concurrencia Equivalencia secuencial: b. Todos los pares de operaciones conflictivas de dos transacciones se deben ejecutar en el mismo orden sobre los objetos a los que ambas acceden. Se requiere: T acceda i antes que U y T accede j antes que U U acceda a i antes que T y U acceda a j antes que T Control de Concurrencia Transacciones A B C A B C Operaciones conflictivas Delay Ejecución Operaciones compuestas Serialización de operaciones conflictivas Control de Concurrencia T: x=lee(i); escribe(i,10); escribe(j,20) U: y=lee(j); escribe(j,30); z=lee(i) x = lee(i) escribe(i,10) y = lee(j) Escribe(j,30) escribe(j,20) Z=lee(i) No es secuencialmente equivalente porque los pares de operaciones conflictivas No se hacen en el mismo orden en todos los objetos. Aunque si se cumple la Primera condición. 12

13 Control de Concurrencia: Problemas que generan las operaciones conflictivas Recuperaciones Inconsistentes V: a.extrae(100) b.deposita(100) W: Unasucursal.totalSucursal(); /* El valor inicial de ambas cuentas es 200 */ a.extrae(100) $100 b.deposita(100) $300 Total = a.obtenbalance(); total = total + b.balance; total = total + c.balance(): W ve el valor nuevo de a y el Valor viejo de b. No se está cumpliendo la propiedad de isolation. V accede a antes que W. V accede a b después de W. Sol. Del problema de Recuperaciones Inconsistentes. V: a.extrae(100) $100 b.deposita(100) $300 W: Total = a.obtenbalance(); total = total + b.balance; total = total + c.balance(): Control de Concurrencia: Accesos secuencialmente equivalentes. Los protocolos intentan secuencializar los accesos. Se utilizan tres aproximaciones: Bloqueo. Control de Concurrencia Optimista Ordenación por marcas de tiempo. No obstante pueden aparecer problemas aún en presencia de ejecuciones secuencialmente equivalentes. 13

14 Control de Concurrencia Las transacciones pueden abortar, ante esta situación surgen otros problemas: lecturas sucias y escrituras prematuras Lecturas Sucias Transacción T Transacción U a.getbalance() (100$) Lectura Sucia a.depositar(10) (110$) a.getbalance() (110$) a.deposita(20) (130$) commit aborta Se restaura el valor de a a 100. U tomó el valor 110$ que ahora no es válido. - La estrategia para la recuperación es retrasar la acción de commit de U hasta que T finalice - Esto conlleva a la posibilidad de Abortos en Cascada (si T aborta, U debe abortar también) Control de Concurrencia Una forma de evitar abortos en cascada es sólo permitir a las transacciones leer objetos que fueron escritos por transacciones consumadas. Control de Concurrencia Escrituras Prematuras T: a.ponbalance(105) U: b.ponbalance(110) 100$ a.ponbalance(105) 105$ 105$ a.ponbalance(110) 110$ Algunos sistemas de BD implementan la acción Abort restaurando las imágenes Anteriores. Si U aborta y T se consuma el balance debe ser de 105$. Correcto. U se consuma y T Aborta: El balance debería estar en 110$, pero se coloca la imagen anterior a T que es 100$. La escritura de U es prematura, antes de que T haga su commit. 14

15 Control de Concurrencia Para garantizar resultados correctos en un esquema de recuperación que utiliza imágenes anteriores, las operaciones de escritura se deben atrasar hasta que las transacciones anteriores que actualizaron los mismos objetos hayan hecho commit o abort (U no debería escribir) Control de Concurrencia La ejecución de las transacciones se llama estricta si las lecturas o escrituras de los objetos se retrasa hasta que todas las transacciones que previamente escribieron el objeto hayan hecho commit o abort. La ejecución estricta de las transacciones hace cumplir la propiedad de aislamiento. Control de Concurrencia Para que un servidor está en capacidad de deshacer cambios si una transacción aborta, debe diseñarse de forma que las actualizaciones puedan ser eliminadas. Todas las operaciones de actualización se hacen sobre versiones provisionales de los objetos en memoria volátil. A cada transacción se le proporciona su conjunto privado de versiones provisionales de los objetos que ha alterado. 15

16 Control de Concurrencia: Problemas que generan las operaciones conflictivas T: balance = b.obtenbalance(); b.ponbalance(balance*1.1) a.extrae(balance/10) U: balance = b.obtenbalance(); b.ponbalance(balance*1.1) c.extrae(balance/10) BeginTransaction balance = b.obtenbalance(); Bloquea B b.ponbalance(balance*1.1) a.extrae(balance/10) Bloquea A End Transaction Desbloquea A,B Begin Transaction balance = b.obtenbalance(); Espera por B Concedido B b.ponbalance(balance*1.1) c.extrae(balance/10) Bloquea C End Transaction Desbloquea B,C Contenido Mecanismos de Control de Concurrencia Control de Concurrencia a través de bloqueos Control Optimista de la Concurrencia Ordenación por marcas de tiempo Comparación de métodos. Recuperación de Transacciones Control de Concurrencia: Bloqueos balance = b.obtenbalance(); 200$ b.ponbalance(balance*1.1) 220$ a.extrae(balance/10) balance = b.obtenbalance(); 220$ b.ponbalance(balance*1.1) 242$ c.extrae(balance/10) -Se puede conseguir equivalencia secuencial secuenciando el acceso al objeto. -La tabla es un ejemplo de secuenciamiento + cierto grado de concurrencia. -Una forma sencilla de secuenciar es a través del uso de bloqueos exclusivos. 16

17 Control de Concurrencia: Bloqueos Nivel de granularidad: tiene que ver con el tamaño del objeto o dato que se está bloqueando. A mayor granularidad (mayor fineza del grano), más pequeño es el tamaño del objeto. Mientras mayor sea la fineza del grano, mejor será el grado de paralelismo/concurrencia, pero mayor será la complejidad del sistema. El bloqueo puede ser a nivel de item, página, archivo, base de datos (donde item representa el grano más fino y base de datos corresponde al grano más grueso) Control de Concurrencia: Bloqueos Cada vez que un proceso necesita leer o escribir en un objeto como parte de una transacción, el objeto se bloquea hasta que la transacción culmine exitosamente (commit). Cualquier otra transacción que desee hacer alguna operación sobre dicho objeto tendrá que esperar hasta que él sea desbloqueado. Control de Concurrencia: Problemas que generan las operaciones conflictivas Para lograr equivalencia secuencial, todos los pares de operaciones conflictivas se deben hacer en el mismo orden. Para asegurar esto, no está permitido a una transacción ningún nuevo bloqueo después que ha liberado alguno. Existen dos fases: Adquirir bloqueos (Fase de crecimiento) Liberar bloqueos (Fase de Acortamiento) 17

18 Algoritmo de locking o bloqueo Two Phase Locking: obtención y liberación Durante la fase de obtención, la transacción trata de obtener todos los locks que necesite. Si no es posible obtener alguno, entonces espera. La segunda fase comienza cuando la transacción libera alguno de los locks, a partir de ese momento no podrá solicitar ningún otro lock (si lo hace, será abortada). Desventaja: si una transacción en la fase de liberación había desbloqueado algunos objetos y los mismos habían sido accedidos por otras transacciones antes de que la primera hiciera commit, entonces las demás transacciones deberían abortar (esto es abortos en cascada). Pudiera ocurrir: lecturas sucias o escrituras prematuras Algoritmo de locking o bloqueo Para evitar esto, se mantienen todos los bloqueos aplicados a los objetos hasta que la transacción que los posee se consuma (commit) o aborte. Esto se llama Bloqueo en dos fases estricto. La fase de liberación se realiza sólo cuando la transacción hace commit Ventaja: evita los abortos en cascada Desventajas: El nivel de paralelismo se degrada En algunos casos es inadmisible. Algoritmo de locking o bloqueo Two Phase Locking Strict Two Phase Locking Fase de crecimiento Fase de liberación Fase de crecimiento Fase de liberación number of locks number of locks Se liberan todos los locks Time Time 18

19 Control de Concurrencia: Bloqueos Para mejorar la concurrencia, la porción de objetos a la que se debe secuenciar el acceso debe ser tan pequeño como sea posible. Problema de los lectores o escritores. Algoritmo de locking o bloqueo lock otorgado lock solicitado Ninguno read OK - write OK read read OK - write Espera write read Espera - write Espera Una mejora: utilizar locks de escritura y locks de lectura para ofrecer un mejor paralelismo al permitir que se realicen concurrentemente transacciones que hagan operaciones no conflictivas. Algoritmo de locking o bloqueo Las recuperaciones inconsistentes y las actualizaciones perdidas se producen por conflictos entre operaciones de lectura y escritura sin la protección de un esquema de control de concurrencia como el bloqueo. Las actualizaciones perdidas aparecen cuando dos transacciones lee un valor de un objeto y usan ese valor para calcular uno nuevo. Este problema se previene haciendo que las transacciones posteriores retrasen sus lecturas hasta que las anteriores se hayan completado. Se toma un lock de lectura, y se promueve a un bloqueo de escritura cuando se va a escribir sobre el mismo objeto. Cuando una transacción posterior desea leer, debe esperar hasta que se libere el lock de escritura. 19

20 Algoritmo de locking o bloqueo Para asegurar que se sigan las reglas de solicitud de bloqueos para los objetos, el cliente no tiene acceso a las operaciones de bloqueo. Los locks son adquiridos y liberados por el administrador de transacciones. Todo lo concerniente al control de concurrencia es transparente para el programador. Bloqueo para Transacciones Anidadas El proposito de un esquema de bloqueo es serializar el acceso a los objetos de modo que: 1. Cada conjunto de transacciones anidadas sea la única entidad a la que se debe impedir ver los efectos de otro conjunto de transacciones anidadas 2. Se debe impedir que cada transacción con un conjunto de transacciones anidadas observe los efectos parciales de otras transacciones del conjunto. Bloqueo para Transacciones Anidadas La primera regla se logra disponiendo que cada bloqueo que adquiere una subtransacción es heredado por su padre cuando esta finaliza. Esto garantiza que puedan mantenerse los bloqueos hasta que se haya consumado o abortado la transacción a nivel superior. 20

21 Bloqueo para Transacciones Anidadas La segunda regla se hace cumplir así: No se permite la ejecución concurrente de padre e hijos. Si una transacción padre tiene un bloqueo sobre el objeto, retiene el bloqueo mientras el hijo se ejecuta. La transacción hijo adquiere temporalmente el bloqueo. Se permite la ejecución concurrente de transacciones al mismo nivel, por lo que cuando éstas accedan a los mismos objetos el esquema de bloqueo debe secuenciar el acceso. Algoritmo de locking o bloqueo El problema del algoritmo de bloqueo es que puede ocasionar deadlocks o Interbloqueos. T a.deposita() b.extrae bloqueo de escritura para A Espera por U Bloqueo en B U b.deposita() bloqueo de escritura para B a.extrae(200) Espera por T. Bloquea en A Interbloqueos Condiciones para un bloqueo: 1.- Condición de exclusión mutua. Cada recurso está asignado a un único proceso o está disponible. 2.- Condición de posesión y espera.los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos. 3.- Condición de no apropiación. Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explícita. 4.- Condición de espera circular.debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena. 21

22 Poseído por R1 Espera por T U T U Espera por R2 Poseído por Grafo de Espera Circular: Si hay un ciclo en el grafo significa que hay interbloqueo. Tratamiento de Interbloqueos Políticas frente a los bloqueos: 1.- Detectar: dejar que suceda y luego recuperarse. 3.- Evitar que estructuralmente sea posible el deadlock, es decir, asegurar que al menos una de las cuatro condiciones no se cumpla. (EM, NApropiación, H and W, Circular Wait) 4.- Predecir: Algoritmo del Banquero: Se necesita conocer los requerimientos de recursos del proceso. (No es aplicable en sistemas distribuidos por su complejidad de conocer los requerimientos de recursos de los procesos con anterioridad). Tratamiento de Interbloqueos Políticas frente a los bloqueos: 1.- Detectar: Se pueden detectar a través de los grafos. Una vez detectado el ciclo se debe escoger una transacción y abortarla. La elección de la transacción a abortar no es sencilla. Un factor que puede ser tomado en cuenta es su edad. La presencia de ciclos en el grafo se puede detectar cada vez que se añade un arco o cada cierto tiempo para disminuir el overhead. 22

23 Algoritmos de Prevención Se basan en asignar a cada transacción un timeout: A cada bloqueo se le proporciona un tiempo limitado en el que es invulnerable. Después de ese tiempo es vulnerable. Si ninguna transacción está compititnedo por el objeto, un objeto con bloqueo vulnerable continua bloqueado. Sin embargo, si cualquier otra transacción está esperando por acceder a un objeto con un bloqueo vulnerable, se rompe el bloqueo y se reanuda la transacción que esperaba. La transacción cuyo bloqueo se ha roto, normalmente aborta. Interbloqueos Causan overhead en el manejo de bloqueos y en los algoritmos de prevención o deteccción Disminuyen la concurrencia. Otros esquemas: Bloqueo de Versiones: permite escribir en versiones tentativas mientras otros leen consumadas. Jerárquico: tiene que ver con granularidad. Contenido Mecanismos de Control de Concurrencia Control de Concurrencia a través de bloqueos Control Optimista de la Concurrencia Ordenación por marcas de tiempo Comparación de métodos. Recuperación de Transacciones 23

24 Algoritmo Optimista Se permite que las transacciones procedan como si no hubiera posibilidad de conflicto con otras transacciones hasta que el cliente complete su tarea y solicite un EndTransaction. Cuando aparece un conflicto se abortará la transacción. Las modificaciones/accesos se hacen sobre espacios privados y se lleva registro de los datos que han sido modificados/accedidos. Al momento del commit, se chequea que los espacios privados sean válidos, de no serlos, se aborta la transacción. A toda transacción se le asigna un identificador (orden secuencial ascendente). Algoritmo Optimista Cada transacción cumple tres fases: Trabajo:Todos los reads se ejecutan inmediatamente sobre la última versión consumada del dato. Los writes crean versiones tentativas. Se mantiene un conjunto de lectura (datos leídos) y un conjunto de escritura (versiones tentativas de los datos). No hay posibilidad de lecturas sucias, sólo se leen valores consumados. Validación: Ante la solicitud de un commit, se valida si la transacción realizó operaciones conflictivas con otras transacciones. Si la validación tiene éxito se puede hacer COMMIT. Si falla, se debe usar alguna forma de resolución de conflictos (abortar alguna de las transacciones) Algoritmo Optimista Escritura: Si la transacción es validada, todos los cambios hechos sobre los espacios privados se actualizan en las versiones originales. 24

25 Algoritmo Optimista Fase de validación: Ante el End_transaction, a cada transacción se le asigna un número (secuencial ascendente, i) que define su posición en el tiempo. Los números son asignados en orden de secuencia ascendente, el número de una transacción define su posición en el tiempo. Se asignan en la fase de validación. Si se valida la transacción y finaliza con éxito se retiene el número. Algoritmo Optimista Fase de validación: La validación se basa en las siguientes reglas (i < v): Tv Ti Regla 1. write read Ti no debe leer datos escritos por Tv 2. read write Tv no debe leer datos escritos por Ti 3. write write Ti no debe escribir datos que está escribiendo o haya escrito Tv y Tv no debe escribir datos que está escribiendo o haya escrito Ti Simplificación: fases de validación y escritura son secciones críticas (muy cortas), se supondrá que no pueden solaparse 2 transacciones en estas fases; se satisface la regla 3. Sólo hay que validar las reglas 1 y 2 Algoritmo Optimista Validación hacia atrás: Los reads de las Ti se realizaron antes que la validación (por tanto escritura) de Tv, entonces se cumple la regla 1. Sólo se valida la regla 2 para cada Ti: valid= true; for (Ti=startTn+1;Ti<=finishTn,Ti++) { if ( read_set of Tv intersects write_set Ti) valid=false; } 25

26 Algoritmo Optimista Validación hacia atrás: starttn: Ti más grande asignado a una transacción committed al momento que Ti entra a su fase de trabajo. finishtn: Ti más grande asignado al momento que Ti entra a su fase de validación Sólo es necesario validar los conjuntos de lectura. Las transacciones que sólo hacen escritura no se validan (lo queellaescribalo validaránotrastransaccionesmayores posteriormente). Si Ti no es válida, se aborta Algoritmo Optimista Validación hacia atrás: T1 T2 T3 Transacción en validación Tv activa1 activa2 Trabajo Validación Escritura Transacciones anteriores committed Algoritmo Optimista Validación hacia atrás: precisa que los conjuntos de escritura de las versiones antiguas de los objetos ya consumadas sean retenidas hasta que no hayan transacciones solapadas aún no válidadas con la que pudieran entrar en conflicto. En un entorno con transacciones largas, el mantener estos conjuntos puede ser un problema. 26

27 Algoritmo Optimista Validación hacia adelante: el conjunto de escritura de Tv se compara con el conjunto de transacciones activas que se solapan, aquellas que están aún en su fase de trabajo. Algoritmo Optimista Validación hacia delante: Se satisface la regla 2 porque las transacciones activas no escriben mientras que Tv no se ha completado. Sólo se valida la regla 1 para cada Ti: se compara el conjunto de escritura de Tv con los conjuntos de lectura de las transacciones activas. valid= true; for (Tid=activa1;Tid<=activaN,Tid++) { if ( write_set of Tv intersects read_set Tid) valid=false; } Algoritmo Optimista Validación hacia delante: activax: Representan transacciones que aún no han entrado a la fase de validación Las transacciones que sólo hacen lecturas no requieren ser validadas Si Tv no es válida: Abortar las activas y consumar Tv Abortar Tv 27

28 Algoritmo Optimista Validación hacia adelante: T1 T2 T3 Transacción en validación Ti activa1 activa2 Trabajo Validación Escritura Transacciones anteriores committed Algoritmo Optimista Desventajas: Hay posibilidad se inanición: una transacción puede abortar indefinidas veces y no se contempla un mecanismo para evitar esto. También es importante saber que este algoritmo no serviría para nada en sistema con transacciones largas, muchas transacciones en conflicto. Algoritmo por Marcas de Tiempo Las operaciones se validan al momento de ser ejecutadas Cuando una transacción comienza, se le asigna un timestamp La regla de ordenación básica por marca de tiempo está basada en los conflictos de operación y es muy sencilla: Una solicitud de una transacción para escribir un objeto es válida sólo si ese objeto fue leído y escrito por última vez por las transacciones anteriores. Una petición de lectura a un objeto es válida sólo si el objeto fue escrito por última vez por una transacción anterior. 28

29 Algoritmo por Marcas de Tiempo Se trabaja con versiones tentativas. Las versiones tentativas de los objetos son consumadas en el orden determinado por las marcas de tiempo de las transacciones que las realizaron. Cada item de datos tiene asociado: Un timestamp de escritura (Twrite_commit), un timestamp de lectura (Tread) y un conjunto de versiones tentativas con su propio timestamp Un write aceptado genera una versión tentativa Un read se dirige a la versión con el máximo timestamp menor que el timestamp de la transacción Algoritmo por Marcas de Tiempo La validación se basa en las siguientes reglas: Regla Tj Ti Condición 1 write read Tj no debe escribir un dato leído por Ti>Tj (Ti es posterior a Tj) (requiere que Tj >= max(tread) del dato) 2 write write Tj no debe escribir un dato escrito por Ti>Tj (requiere que Tj > max(twrite_commit) del dato) 3 read write Tj no debe leer un dato escrito por Ti>Tj (requiere que Tj > Twrite_commit) Algoritmo por Marcas de Tiempo Para saber cuando una operación de escritura es válida se aplica el siguiente algoritmo: Sea Tj una transacción que desea hacer una operación de escritura sobre el objeto D. If ((Tj >= Max (Tread en D)) && (Tj > write_commit en D)) Proceder con el write sobre una versión tentativa nueva, con marca de tiempo Tj else // write is too late Abortar Tj; 29

30 Algoritmo por Marcas de Tiempo Para saber cuando rechazar o aceptar inmediatamente una operación de lectura (esperan si no han terminado las transacciones anteriores) Sea Tj una transacción que desea hacer un read sobre el objeto D. If ((Tj > Max (Write_Commit en D)) Sea Ds la versión de D con la máxima marca de tiempo de escritura (commited o no) Si se ha consumado Ds: realiza la operación de lectura. Si no espera hasta que la transacción que hizo la versión Ds haga commit o abort. else // write is too late Abortar Tj; Algoritmo por Marcas de Tiempo Regla de escritura a) T3->write b) T3-> write antes T2 después T2 T3 antes T1 después T1 T2 T2 T3 Versión committ c) T3->write d) T3-> write antes T1 T4 antes T4 T3 Aborta después T1 T3 T4 después T4 Versión tentativa Algoritmo por Marcas de Tiempo Regla de lectura a) T3->read b) T3-> read read se ejecuta T2 T2 T4 inmediatamente Seleccionado Seleccionado read se ejecuta inmediatamente Versión committ c) T3->read d) T3-> read T1 T2 read espera T4 T3 Aborta Versión tentativa Seleccionado 30

31 Algoritmo por Marcas de Tiempo Las versiones commit (consumadas) de cada objeto deben crearse en el orden de las marcas de tiempo. Un coordinador necesita esperar, a veces, que se completen las transacciones anteriores antes de escribir todas las versiones consumadas de los objetos. T U A B C begint Bal=b.obtenBalance() b.ponbalance(bal*) a.extrae() commit BeginT Bal=b.obtenBalance() Espera por T. Bal=b.obtenBalance() b.ponbalance() c.extrae() MTL MTE {} S S,T T MTL MTE {} S {T} S,T T {U} T,U MTL MTE {} S S,U Algoritmo por Marcas de Tiempo Ejercicio T U T U BeginT BeginT X=lee(i) Escribe(j,44) BeginT escribe(i,55) escribe(j,66) Commit X=lee(i) Escribe(j,44) BeginT Escribe(i,55) Escribe(j,66) commit Corra el algoritmo de secuenciación por marcas de tiempo 31

32 T U BeginT y = lee(k) BeginT x = lee(i) Escribe(j,44) Escribe(i,55) Escribe(j,66) commit Qué pasa cuándo va a terminar la transacción T si corremos el algoritmo Optimista con validación hacia atrás??? Ejercicio Un servidor gestiona los objetos a1, a2, an. El servidor proporciona a sius clientes Dos operaciones: Lee(i) devuelve el valor de ai Escribe(1,valor) asigna el valor a ai Las transacciones T y U se definen como sigue: T: x= lee(i); escribe(j,44) U: escribe(i,55); escribe(j,66) 1. Como funciona o escriba una secuencia de ejecución con bloqueo estricto de dos fases. 2. Describa un solapamiento de las transacciones T y U en el que los bloqueos se Liberan prontamente y se obtiene un efecto que no es secuenacialmente equivalente. Transacciones Distribuidas 32

33 Contenido Transacciones Distribuidas Sistema Manejador de Transacciones Transacciones Planas y Anidadas Commit y Abort en un Sistema Distribuido Control de Concurrencia Por Bloqueo Optimista Marcas Temporales Transacciones Distribuidas Sus actividades involucran múltiples servidores. Se usa el término transacciones distribuidas para referirse a transacciones planas o anidadas que acceden a objetos administrados por múltiples servidores. Procesamiento de transacciones distribuidas C C C C C C TPS Transaction Manager TPS Transaction Manager TPS: Transaction Processing System scheduler Data Manager Recovery Manager Cache Manager comunicación scheduler Data Manager Recovery Manager Cache Manager 33

34 Las transacciones distribuidas pueden ser planas o anidadas. Cliente: begin_transaction call X.x call Y.y call Z end_transaction X Transacción Plana: Un cliente realiza peticiones a más de un servidor cliente Y Z Transacciones Distribuidas X T1 M T11 T Cliente Y T2 N T12 T21 P T22 Transascción distribuida anidada: las transacciones Del mismo nivel son concurrentes. Si están en Servidores distintos pueden ejecutarse en paralelo. Transacciones Anidadas Sea una transacción distribuida donde el cliente transfiere $10 de la cuenta A a C y $20 de B a D. Las cuentas A y B están separadas en servidores X e Y y las cuentas C y D están en el servidor Z. Si la transacción se estructura como un conjunto de cuatro transacciones anidadas, los cuatro requerimientos ( dos depósitos y dos retiros) pueden correr en paralelo y el efecto total es lograr mayor rendimiento que una transacción simple ejecutando las cuatro operaciones secuencialmente. 34

35 Procesamiento de transacciones distribuidas Un Cliente envía una transacción a un nodo solamente, el cual llamaremos el nodo Coordinador. Un cliente comienza una transacción enviando un begin_transaction a cualquier servidor TPS. Éste se convierte en el coordinador y los que se tengan que contactar a partir de aquí se convierten en participantes. Coord. Unirse begintransaction endtransaction A SucursalX a.extrae(4) Unirse B b.extrae(3) Cliente b.extrae(t,3) Unirse SucursalY Nota: el coordinador está en uno de los Servidores, por ejemplo SucursalX C D SucursalZ c.deposita(4) d.deposita(3) 35

36 Procesamiento de transacciones distribuidas El coordinador que inició la transacción es el responsable final de consumarla o abortarla. Durante el progreso de una transacción el coordinador registra la lista de referencias de participantes, y cada participante registra una referencia hacia el coordinador. Procesamiento de transacciones distribuidas La operación BeginTransaction devuelve el TID. Los identificadores de las transacciones han de ser únicos dentro del sistema distribuido. Una forma sencilla de obtener esto es que cada TID tenga dos partes: el identificador del servidor (e.g. dirección IP) y un número único dentro del servidor. Procesamiento de transacciones distribuidas Existen dos aspectos importantes a considerar en las transacciones distribuidas: Control de concurrencia La consumación de una transacción Se supone que existe una comunicación entre TPS a través de un protocolo de aplicación. Estos protocolos se implementan sobre RPC o pase de mensajes. 36

37 Transacciones Distribuidas Cuando una transacción distribuida termina, la propiedad de atomicidad exige que todos los servidores acuerden lo mismo (commit) o todos aborten (abort). Existen protocolos para llegar a compromisos (Two-Phase-Commit) Las transacciones distribuidas deben ser globalmente serializadas. Existen protocolos de control de concurrencia distribuida. Protocolos de Consumación Atómica Cuando el coordinador recibe un requerimiento Commit de una transación, tiene que asegurar: Atomicidad: Todos los nodos se comprometen con los cambios o ninguno lo hace y cualquier otra transacción percibe los cambios en todos los nodos o en ninguno. Aislamiento:Los efectos de la transacción no son visibles hasta que todos los nodos hayan tomado la decisión irrevocable commit o abort. Consumación en una fase Commit de una fase atómico Una manera simple de completar una transacción en forma atómica por el coordinador es comunicar el requerimiento de commit o abort a todos los participantes de la transacción y mantenerse enviando el requerimiento hasta que todos ellos respondan con un ACK indicando que han realizado la tarea. El protocolo no contempla que la decisión de abortar venga de uno de los participantes. Sólo puede venir del cliente. 37

38 Consumación en Dos Fases Permite que cualquier participante aborte su parte de la transacción. En la primera fase del protocolo cada participante vota para que la transacción sea consumada o abortada. Una vez que el participante ha votado commit, no se le permite que aborte. Por lo tanto, antes de un participante votar por commit debe asegurarse que será capaz de llevar a cabo su parte del protocolo de consumación, incluso si falla. Se dice que un participante está en estado preparado para una transacción si finalmente será capaz de consumarla. Consumación en Dos Fases En la segunda fase: El coordinador recoge el resultado de las votaciones. Si alguno de los participantes vota por abortar, la decisión es abortar. Si todos los participantes votan consumar, esta será la decisión. Consumación en Dos Fases Si uno de los participantes decide abortar (antes de la solicitud del coordinador) se le informa al resto. No comienza a funcionar el protocolo de consumación. 38

39 Protocolo de Consumación en dos Fases Fase 1 (votación) 1. El Coordinador envía una petición (commit?) a cada participante en la transacción 2. Cuando un participante recibe una petición commit? Responde al Coordinador con su voto (si o no). Antes de votar Sí se prepara para hacer commit guardando los objetos en almacenamiento permanente. Si el voto es No. El participante aborta de forma inmediata. Protocolo de Consumación en dos Fases Fase 2 (finalización en función del resultado de la votación) 3. El coordinador recoge los votos (incluyendo el propio) Si no hay fallos y todos los votos son Sí, el coordinador decide consumar la transacción y envía peticiones de COMMIT a cada unos de los participantes. En otro caso, el Coordinador decide abortar la transacción y envía peticiones Aborta a todos los que votaron Sí. 4. Los participantes que han votado Sí están esperando por una petición de Commit o Abort por parte del Coordinador. Cuando se reciben uno de estos mensajes, se actúa en función de ellos. En caso de COMMIT se retorna al servidor:havecommitted. Protocolo de Consumación en dos Fases El protocolo podría fallar debido a la caída de uno o más servidores o debido a un corte en la comunicación. Para cubrir la posibilidad de caídas cada servidor guarda la información correspondiente al protocolo en un dispositivo de almacenamiento permanente. Esta información la puede recuperar un nuevo proceso que se inicie para reemplazar al servidor caído. 39

40 Acciones frente a un timeout Situación en la que un participante ha votado Sí y está esperando para que el coordinador le informe el resultado de la votación: El participante está incierto frente al resultado y no puede seguir adelante hasta que obtenga los resultados de la votación por parte del coordinador. No puede decidir unilateralmente, debe mantener los objetos. Envía un mensaje al Coordinador de DameDecision. Cuando obtiene la respuesta continua en el paso 4 del protocolo. Si el Coordinador ha fallado el participante no podrá obtener una decisión hasta que el servidor sea reemplazado. Acciones frente a un timeout El participante ha realizado todas sus tareas y aún no ha recibido el llamado Puede Consumar?? (primera comunicación) En este caso, como no se ha tomado ninguna decisión el participante puede decidir unilateralmente abortar. 40

41 Acciones frente a un timeout El coordinador puede sufrir retrasos cuando está esperando por los votos de los participantes. Dado que no está decidido el destino de la transacción, tras cierto periodo de tiempo puede abortar. En ese momento, el Coordinador anuncia su decisión a todos los participantes que ya habían votado. Algunos participantes retrasados pudieran votar Sí, sin haber recibido el último mensaje del coordinador. El coordinador ignora este Sí y el participante pasa al estado incierto. Transacciones Anidadas T11 Aborta en M T T1 T2 Cons. Provisional (en X) T12 Cons. Provisional (en N) T21 Cons. Provisional (en N) Abortado (en M) T22 Cons. Provisional (en P) Transacciones Anidadas Cuando finaliza una subtransacción toma una decisión independiente sobre si consumarse de forma provisional (no es lo mismo que estar preparado) o abortar. Las transacciones trabajan, cuando terminan el servidor donde se encuentra registra información sobre si se ha consumado provisionalmente o ha abortado. 41

42 Transacciones Anidadas Cuando una transacción anidada se consuma en forma provisional informa de su estado y del estado de sus descendientes a su madre. Cuando una transacción aborta, simplemente informa de haber abortado a su madre. Al final, la transacción a nivel superior recibe una lista de todas las subtransacciones en el arbol junto con el estado de cada una de ellas. Transacciones Anidadas La transacción a nivel superior juega el papel de Coordinador en el protocolo de consumación en 2 fases. La lista de participantes consta de los servidores de todas las subtransacciones que se hayan consumado provisionalmente pero no tienen ascendentes que hayan abortado: T, T1, T12 Transacciones Anidadas La transacción a nivel superior debe intentar consumar lo que quede del árbol. A T1 y T12 se les pedirá que voten para obtener el resultado. Si votan consumar deben preparar las transacciones guardando el estado de los objetos en el dispositivo de almacenamiento permanente. La segunda fase es idéntica: se recogen los votos y se informa a los participantes en función del resultado. 42

43 Control de Concurrencia: Bloqueos En una transacción distribuida los bloqueos se mantienen localmente (en el mismo servidor). El administrador local de bloqueos puede decidir si otorga un lock o hace que la transacción que lo requirió espere. Sin embargo no puede liberar ningún lock mientras la transacción que los tiene no haya terminado (commit o abort) en todos los servidores involucrados en la transacción. Cuando se usa el bloqueo para control de concurrencia, los objetos permanecen bloqueados y no están disponibles para otras transacciones durante el protocolo de commit atómico, aunque una transacción abortada libere sus bloqueos durante la primera fase del protocolo. Bloqueos Dado que los administradores de bloqueos en diferentes servidores otorgan bloqueos independiente de los demás, es posible que diferentes servidores impongan diferente orden sobre las transacciones. Considérese el siguiente entrelazado de las transacciones T y U en los servidores X e Y: T U Write(A) en X lock A Write(B) en Y lock B Read(B) en Y espera U Read(A) en X espera por T Bloqueos Se tiene T antes que U en un servidor y U antes que T en el otro. Estos órdenes diferentes pueden llevar a una dependencia cíclica entre transacciones que deriva en una situación de interbloqueo. Cuando se detecta una condición de interbloqueo las transacciones son abortadas. En este caso el coordinador será informado y abortará las transacciones en los participantes involucrados. 43

44 Control de Concurrencia Optimista Cada transacción es validada antes de permitir el commit. Una transacción distribuida es validada por una colección de servidores independientes, cada uno de los cuales valida las transacciones que acceden a sus objetos propios. Sean las transacciones T y U entrelazadas, las cuales acceden a los objetos A y B en los servidores X e Y respectivamente: T Read(A) en X Write(A) Read(B) en Y Write(B) U Read(B) en Y Write(B) Read(A) en X Write(A) Control de Concurrencia Optimista Las transacciones acceden a los objetos en el orden T antes que U en el servidor X y U antes que T en el servidor Y. Si se supone que T y U empiezan la validación al mismo tiempo, el servidor X valida T primero y el servidor Y valida U primero. Sólo una transacción puede realizar la fase de validación y actualización a la vez. En el ejemplo, cada servidor está inhabilitado de validar la otra transacción hasta que la primera haya completado. Esto es un interbloqueo de consumación Control de Concurrencia Optimista En el caso de transacciones distribuidas optimistas, cada servidor aplica en paralelo un protocolo de validación. Esta es una extensión de la validación hacia delante o hacia atrás para permitir que varias transacciones estén en la fase de validación (por lo que pueden tardar estas fases en un entorno distribuido). En esta extensión se debe comprobar tanto la regla 3 como la regla 2, i.e debe comprobarse el conjunto de escritura de una transacción que está siendo validada, con el conjunto de escritura de otras transacciones anteriores con las que se solapen para detectar alguna superposición. 44

45 Control de Concurrencia Optimista Los servidores de transacciones distribuidas deben evitar que suceda T antes que U en un servidor y U antes que T en otro. Sol: después de una validación local, se llevará a cabo una validación global. La validación global comprueba que el orden en los servidores sea secuencialmente equivalente.. Time Stamps En transacciones distribuidas se requiere que cada coordinador genere una única marca de tiempo global. Se consigue la equivalencia secuencial consumando las versiones de los objetos en el orden de las marcas temporales de las transacciones que acceden a ellos. Se requiere que cada coordinador genere marcas temporales que sean globalmente únicas. Esta marca de tiempo es dada al cliente por el primer coordinador accedido por la transacción. Time Stamps La marca de tiempo de la transacción se pasa al coordinador de cada servidor en los cuales se realizan operaciones de la transacción. Los servidores son conjuntamente responsables de que las transacciones distribuidas sean realizadas de manera serial. Una marca temporal consta de: <marca temporal local, identificador local del servidor> 45

46 Time Stamps Se requiere que las marcas de tiempo proporcionadas por un coordinador estén aproximadamente sincronizadas con aquellas que emiten otros coordinadores. Las marcas se pueden mantener sincronizadas mediante la utilización de algoritmos de sincronización de relojes. Recuperación Distribuida Hemos supuesto que: Cuando un servidor está en funcionamiento, mantiene todos sus objetos en la memoria volátil y registra sus objetos consumados en un archivo o archivos de recuperación. La recuperación consiste en restaurar el servidor a partir de los dispositivos de almacenamiento permanente y dejarlo con las últimas versiones consumadas de los objetos. Recuperación Distribuida Los requisitos de persistencia y atomicidad ante fallos se tratan mediante un único mecanismo: el gestor de recuperación. Las tareas de un gestor de recuperación son: Guardar los objetos de todas las transacciones consumadas en dispositivos de almacenamiento permanente. Restaurar los objetos del servidor tras una caída. 46

47 Recuperación Distribuida Reorganizar el archivo de recuperación para mejorar el rendimiento de la recuperación. Reclamar espacio de almacenamiento. Se requiere que el gestor de recuperación sea resistente a los fallos en los medios (discos, etc). Se requiere entonces el manejo de una copia del archivo de recuperación. Recuperación Distribuida Listas de Intenciones: Durante el progreso de una transacción, las operaciones de actualización se aplican sobre un conjunto privado de versiones tentativas de los objetos que pertenecen a la transacción. En cada servidor se guarda una lista de intenciones para cada una de sus transacciones activas. Recuperación Distribuida La lista de intenciones de una transacción contiene una lista de las referencias y los valores de los objetos que son alterados durante la transacción. Cuando una transacción se consuma se utiliza la lista de intenciones de la transacción para identificar los objetos afectados. Se reemplaza la versión tentativa del objeto por una versión consumada. 47

Procesamiento de Transacciones

Procesamiento de Transacciones Contenido Procesamiento de ransacciones Material basado en los capítulos 12 y 13 del libro: Sistemas Distribuidos. CyD. G. Coulouris, J. Dollimore and. Kindberg. Definiciones Básicas Sincronización ransacciones

Más detalles

TRANSACCIONES DISTRIBUIDAS

TRANSACCIONES DISTRIBUIDAS TRANSACCIONES DISTRIBUIDAS Tema # V Sistemas de operación II Abril-Julio 2008 Yudith Cardinale INDICE Introducción y definiciones Algoritmos de compromiso Two Phase Commit Three Phase Commit Algoritmos

Más detalles

Módulo 7 Transacciones Distribuidas

Módulo 7 Transacciones Distribuidas Sistemas Distribuidos Módulo 7 Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia San Juan Bosco El modelo transaccional La actualización de una cinta maestra es tolerante

Más detalles

4.6.- Integridad: Control de concurrencia.

4.6.- Integridad: Control de concurrencia. 4.6.- Integridad: Control de concurrencia. 4.6.1.- Introducción 4.6.2.- Técnicas de Bloqueo. 4.6.2.1.- Bloqueo (variable cerrojo) Tipos, protocolos Problemas. Interbloqueo Granularidad 4.6.2.2.- Marcas

Más detalles

CAPITULO 6. Control de Concurrencia y Recuperación

CAPITULO 6. Control de Concurrencia y Recuperación CAPITULO 6 Control de Concurrencia y Recuperación 6.1 Protocolos de Bloqueo Un protocolo de bloqueo nace de la necesidad creada cuando una transacción solicita un bloqueo de un modo particular sobre un

Más detalles

Concurrencia y Recuperabilidad

Concurrencia y Recuperabilidad Concurrencia y Recuperabilidad Paradigma Pesimista Lic. Gerardo Rossel 2016 Recuperabilidad Control de Concurrencia Pesimista-Optimista-SQL Serializabilidad Recuperabilidad Control de Concurrencia Pesimista-Optimista-SQL

Más detalles

TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ

TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 1 1 BASES DE DATOS DISTRIBUIDAS TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 4. MANEJO DE TRANSACCIONES 4.1 Conceptos de Transacciones 4.2 Control de concurrencia 4.3 Serialización de transacciones

Más detalles

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 5: Proceso de Transacciones Pedro P. Alarcón Cavero

Más detalles

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile  andrea Transacciones M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Objetivos de la Unidad Entender el concepto de transacciones. Transacciones Una transacción

Más detalles

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Sistemas Operativos. Dr. Luis Gerardo de la Fraga.    Departamento de Computación Cinvestav Sistemas Operativos Dr. Luis Gerardo de la Fraga E-mail: fraga@cs.cinvestav.mx http://cs.cinvestav.mx/~fraga Departamento de Computación Cinvestav 12 de junio de 2015 Dr. Luis Gerardo de la Fraga Cinvestav,

Más detalles

Diseño arquitectónico 1ª edición (2002)

Diseño arquitectónico 1ª edición (2002) Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado

Más detalles

Recuperación de Fallos del Sistema

Recuperación de Fallos del Sistema Recuperación de Fallos del Sistema Competencias específicas Proteger la información almacenada frente a fallos del sistema mediante las técnicas disponibles en los SGBDs. Justificar la necesidad de disponer

Más detalles

Memoria. Organización de memorias estáticas.

Memoria. Organización de memorias estáticas. Memoria 1 Memoria Organización de memorias estáticas. 2 Memoria En memoria físicas con bus de datos sea bidireccional. 3 Memoria Decodificación en dos niveles. 4 Necesidad de cantidades ilimitadas de memoria

Más detalles

Unidad 8. Bases de Datos en el Modelo Cliente Servidor

Unidad 8. Bases de Datos en el Modelo Cliente Servidor Unidad 8 Bases de Datos en el Modelo Cliente Servidor El Modelo Cliente Servidor En la comunicación TCP/IP las comunicaciones entre computadoras se manejan a través del modelo Cliente Servidor Este concepto

Más detalles

Aplicaciones Concurrentes

Aplicaciones Concurrentes PROGRAMACIÓN CONCURRENTE TEMA 6 Aplicaciones Concurrentes ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Aplicaciones Concurrentes

Más detalles

La Máquina de Acceso Aleatorio (Random Access Machine)

La Máquina de Acceso Aleatorio (Random Access Machine) La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:

Más detalles

TOLERANCIA A FALLAS Y RECUPERACIÓN

TOLERANCIA A FALLAS Y RECUPERACIÓN TOLERANCIA A FALLAS Y RECUPERACIÓN Tema # VI Sistemas de operación II Abril-Julio 2013 Yudith Cardinale Tolerancia a fallas INDICE Conceptos Básicos de Tolerancia a Fallas Redundancia Recuperación de transacciones

Más detalles

Cristian Blanco

Cristian Blanco UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html

Más detalles

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos Sistemas Operativos Curso 2014 Estructura de los sistemas operativos Agenda Componentes de un sistema operativo. Servicios del sistema operativo (system services). Llamados a sistema (system calls). Estructura

Más detalles

Control de Concurrencia

Control de Concurrencia Esquema de la clase Conceptos Preliminares Aspectos positivos y negativos de la ejecución concurrente Planificaciones y Secuencialidad Recuperabilidad Esquemas de Conceptos Preliminares Transacción Propiedades

Más detalles

MANUAL POLÍTICA DE PASO A PRODUCCIÓN DE SISTEMAS DE INFORMACIÓN Y CONTROL DE VERSIONES

MANUAL POLÍTICA DE PASO A PRODUCCIÓN DE SISTEMAS DE INFORMACIÓN Y CONTROL DE VERSIONES MANUAL POLÍTICA DE PASO A INDICE 1. INTRODUCCION...02 2. OBJETIVO GENERAL..02 3. ALCANCE 02 4. POLITICA DE PASO A PRODUCCION DE SISTEMAS DE INFORMACION 02 5. SISTEMAS DE CONTROL DE 03 6. DEFINICIONES..04

Más detalles

Elementos de Bases de Datos. Serializabilidad en Bases de Datos Distribuidas. Protocolo de Bloqueo de Dos Fases. Protocolo de Compromiso de 2 Fases

Elementos de Bases de Datos. Serializabilidad en Bases de Datos Distribuidas. Protocolo de Bloqueo de Dos Fases. Protocolo de Compromiso de 2 Fases Elementos de Bases de Datos 2do Cuatrimestre de 2004 Elementos de Bases de Datos DptoCiencias e Ingeniería de la Computación Universidad Nacional del Sur Lic María Mercedes Vitturini [mvitturi@csunseduar]

Más detalles

Procesadores superescalares. Introducción

Procesadores superescalares. Introducción Procesadores superescalares Introducción Introducción El término superescalar (superscalar) fue acuñado a fines de los 80s. Todas las CPUs modernas son superescalares. Es un desarrollo de la arquitectura

Más detalles

Sistemas Distribuidos: Migración de Procesos

Sistemas Distribuidos: Migración de Procesos Sistemas Distribuidos: Migración de Procesos Yudith Cardinale Universidad Central de Venezuela Facultad de Ciencias Postgrado en Computación Octubre 2013 Febrero 2014 Objetivos Entender la importancia

Más detalles

GESTION DE TRANSACCIONES

GESTION DE TRANSACCIONES GESTION DE TRANSACCIONES Recuperación ante Fallos Control de Concurrencia Esquema de la Clase Concepto de transacción Propiedades y estados de una transacción Estructura de almacenamiento Acceso a los

Más detalles

Manipulación de procesos

Manipulación de procesos Manipulación de procesos Las primeras computadoras solo podían manipular un programa a la vez. El programa tenía control absoluto sobre todo el sistema. Con el desarrollo vertiginoso del hardware ese panorama

Más detalles

Tema 6. Transacciones y seguridad

Tema 6. Transacciones y seguridad Tema 6. Transacciones y seguridad Las aplicaciones de bases de datos a gran escala, con bases de datos de gran tamaño y con cientos de usuarios concurrentes, como los sistemas de reservas, los bancos,

Más detalles

Estructuras en LabVIEW.

Estructuras en LabVIEW. Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While

Más detalles

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

Tema 14: Sistemas Secuenciales

Tema 14: Sistemas Secuenciales Tema 14: Sistemas Secuenciales Objetivos: (CONTADORES) Introducción. Características de los contadores. Contadores Asíncronos. Contadores Síncronos. 1 INTRODUCCIÓN Los contadores son sistemas secuenciales

Más detalles

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS [Escriba el subtítulo del documento] Qué es un gestor de base de datos? Un gestor de base de datos o sistema de gestión de base de datos (SGBD o DBMS) es un

Más detalles

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

PROGRAMACION CONCURRENTE Y DISTRIBUIDA PROGRAMACION CONCURRENTE Y DISTRIBUIDA V.2 Redes de Petri: Análisis y validación. J.M. Drake 1 Capacidad de modelado y capacidad de análisis El éxito de un método de modelado es consecuencia de su capacidad

Más detalles

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema

Más detalles

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

SISTEMAS DE ARCHIVOS DISTRIBUIDOS SISTEMAS DE ARCHIVOS DISTRIBUIDOS Tema # VII Sistemas de operación II Abril-Julio 2008 Yudith Cardinale Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo

Más detalles

El Sistema Gestor de Base de Datos (DBMS)

El Sistema Gestor de Base de Datos (DBMS) Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los

Más detalles

Administración de Bases de Datos

Administración de Bases de Datos Administración de Bases de Datos Tema 8. Técnicas de Recuperación en SGBD Pedro Pablo Alarcón Cavero Juan Garbajosa Sopeña Departamento O.E.I. Escuela Universitaria de Informática Universidad Politécnica

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS. Control de Concurrencia y Recuperación

ADMINISTRACIÓN DE BASES DE DATOS. Control de Concurrencia y Recuperación ADMINISTRACIÓN DE BASES DE DATOS Tema 4 Control de Concurrencia y Recuperación Francisco Ruiz González Departamento de Informática Escuela Superior de Informática Universidad de Castilla-La Mancha Resumen:

Más detalles

SISTEMAS DE RECUPERACIÓN

SISTEMAS DE RECUPERACIÓN Sistemas de Recuperación - 1 SISTEMAS DE RECUPERACIÓN 1. CLASIFICACIÓN DE FALLOS - Fallo en la transacción - Error lógico (del programa): overflow, acceso a información que no existe, entradas erróneas

Más detalles

CONTROL DE CONCURRENCIA Y RECUPERACIÓN EN BASES DE DATOS

CONTROL DE CONCURRENCIA Y RECUPERACIÓN EN BASES DE DATOS CONTROL DE CONCURRENCIA Y RECUPERACIÓN EN BASES DE DATOS MATERIA: BASE DE DATOS CUATRIMESTRE: 2C2010 DOCENTE: ALEJANDRO EIDELSZTEIN Un Sistema de Gestión de Bases de Datos consta de los siguientes módulos:

Más detalles

Estrategia de Pruebas

Estrategia de Pruebas Estrategia de Pruebas Introducción: Las pruebas son parte integral de un proyecto y del ciclo de vida de la aplicación. Dentro un proyecto de implementación, las pruebas siguen un enfoque estructurado

Más detalles

La etapa de Ejecución

La etapa de Ejecución La etapa de Ejecución Curso 2009-2010 Qué es la Ejecución? La ejecución es la etapa en la que se coordinan los recursos humanos y materiales de acuerdo a lo establecido en el Plan de Gestión del Proyecto,

Más detalles

Sistemas Operativos. Curso 2016 Sistema de Archivos

Sistemas Operativos. Curso 2016 Sistema de Archivos Sistemas Operativos Curso 2016 Sistema de Archivos Agenda Interfaz. Archivos. Directorios. Seguridad en archivos. Implementación. Definiciones. Sistema de archivos virtual. Estructura de los directorios.

Más detalles

6. PROCESADORES SUPERESCALARES Y VLIW

6. PROCESADORES SUPERESCALARES Y VLIW 6. PROCESADORES SUPERESCALARES Y VLIW 1 PROCESADORES SUPERESCALARES Y VLIW 1. Introducción 2. El modelo VLIW 3. El cauce superescalar 4. Superescalar con algoritmo de Tomasulo 2 PROCESADORES SUPERESCALARES

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

_áw. Transacciones Distribuidas. Bibliografía. Motivación. Motivación. Introducción. Introducción. Transferencia entre dos cuentas bancarias.

_áw. Transacciones Distribuidas. Bibliografía. Motivación. Motivación. Introducción. Introducción. Transferencia entre dos cuentas bancarias. Transacciones Distribuidas Ricardo Jiménez Peris, Marta Patiño Martínez _áw Distributed Systems Laboratory Universidad Politécnica de Madrid (UPM) http://lsd.ls.fi.upm.es/lsd/lsd.htm Bibliografía Libros

Más detalles

Sincronización en base a relojes. relojes

Sincronización en base a relojes. relojes Sincronización en base a relojes Dos tipos de relojes según los algoritmos relojes Relojes lógicos Relojes físicos lo importante es la consistencia interna de los relojes, no si están cercanos al tiempo

Más detalles

6. Planificación. Los procesos tienden a tener ráfagas de ejecución (CPU-burst) y ráfagas de espera de operaciones de E/S (I/O burst).

6. Planificación. Los procesos tienden a tener ráfagas de ejecución (CPU-burst) y ráfagas de espera de operaciones de E/S (I/O burst). 6. Planificación La planificación es la base para lograr la multiprogramación. En un sistema multiprogramado, generalmente en un determinado instante existirán varios procesos que requieren el procesador

Más detalles

2.5.1. Procesamiento de documentos XML.

2.5.1. Procesamiento de documentos XML. 2.5.1. Procesamiento de documentos XML. Un analizador o parser XML es una herramienta encargada de leer documentos XML [17], poder acceder a sus elementos y comprobar si el documento es sintácticamente

Más detalles

GI-A.10.1-SA-07 GUIA RÁPIDA COMPRAR EN LÍNEA. Código: GI-A.10.1-SA-07 GUÍA RÁPIDA COMPRAR EN LÍNEA. Revisión:1 MANUAL

GI-A.10.1-SA-07 GUIA RÁPIDA COMPRAR EN LÍNEA. Código: GI-A.10.1-SA-07 GUÍA RÁPIDA COMPRAR EN LÍNEA. Revisión:1 MANUAL GUIA RÁPIDA COMPRAR EN LÍNEA 1 Página 1 de 14 2 Contenido 1... 1 2 Contenido... 2 3 CONTROL DE VERSIONES... 3 4 CONTROL DE REVISIONES... 3 5 AUTORIZACIÓN DEL DOCUMENTO... 3 6 INTRODUCCIÓN... 4 7 ALCANCE...

Más detalles

PROCESO: GESTION RECURSOS FISICOS PROCEDIMIENTO:MANTENIMIENTO CORRECTIVO Y/O PREVENTIVO

PROCESO: GESTION RECURSOS FISICOS PROCEDIMIENTO:MANTENIMIENTO CORRECTIVO Y/O PREVENTIVO Página 1 de 5 1. OBJETIVO: Mantener y conservar todas los Equipos y vehículos de la Alcaldía reduciendo a su mínima expresión las fallas imprevistas para que se incremente la productividad y se disminuyan

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

APUNTES SOBRE PROCESOS Y DEADLOCK CONCEPTO DE PROCESO 1

APUNTES SOBRE PROCESOS Y DEADLOCK CONCEPTO DE PROCESO 1 APUNTES SOBRE PROCESOS Y DEADLOCK Alejandro Bia PROCESO CONCEPTO DE PROCESO 1 - En 1960 (proyecto "Multics") surge concepto de proceso. Definiciones breves: - Programa en ejecución. - Entidad lógica a

Más detalles

Manual de Instrucción para el usuario del sistema de TELE-MAPA

Manual de Instrucción para el usuario del sistema de TELE-MAPA Manual de Instrucción para el usuario del sistema de TELE-MAPA 1 Índice Índice 2 Introducción... 2 1. PIT Mobile MAPA.. 2 2. Verificar Conexión. 4 3. Descargar de dispositivo. 5 4. Enviar Exámenes. 10

Más detalles

Memoria Cache. Departamento de Arquitectura de Computadores

Memoria Cache. Departamento de Arquitectura de Computadores Memoria Cache Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas

Más detalles

PROCEDIMIENTO DE COPIAS DE SEGURIDAD CÓDIGO: S-P-09

PROCEDIMIENTO DE COPIAS DE SEGURIDAD CÓDIGO: S-P-09 DE COPIAS DE SEGURIDAD CÓDIGO: S-P-09 SISTEMA DE GESTIÓN INTEGRAL PÁGINA 2 de 9 1. OBJETIVO Establecer la metodología para la realización de copias de seguridad y restauración de la información de La Empresa

Más detalles

Soluciones de administración de clientes e impresión móvil

Soluciones de administración de clientes e impresión móvil Soluciones de administración de clientes e impresión móvil Guía del usuario Copyright 2007 Hewlett-Packard Development Company, L.P. Windows es una marca comercial registrada de Microsoft Corporation en

Más detalles

Sistemas Operativos. Daniel Rúa Madrid

Sistemas Operativos. Daniel Rúa Madrid Sistemas Operativos Daniel Rúa Madrid Qué es? Es un programa que administra el hardware de una computadora. También proporciona las bases para los programas de aplicación y actúa como intermediario entre

Más detalles

Sistema de Liquidación Directa. Servicio de Solicitud de Borradores On-line. Subdirección General de Afiliación, Cotización y Gestión del Sistema RED

Sistema de Liquidación Directa. Servicio de Solicitud de Borradores On-line. Subdirección General de Afiliación, Cotización y Gestión del Sistema RED Sistema de Liquidación Directa On-line Subdirección General de Afiliación, Cotización y Gestión del Sistema RED Marzo de 2016 INDICE 1... 4 1.1 Introducción... 4 1.2 Características... 4 1.2.1 Objetivo

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas

Más detalles

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas: ADMINISTRACION DE LA MEMORIA Función del Administrador de Memoria Registra qué parte de memoria está libre y ocupada Asigna y libera espacio en memoria a los procesos Administra el intercambio entre la

Más detalles

PO-1TI-001. Código: Versión: Elaborado por: - Gerencia de IT. Página: Revisado por: - Gerencia de IT. Page 1 of 5

PO-1TI-001. Código: Versión: Elaborado por: - Gerencia de IT. Página: Revisado por: - Gerencia de IT. Page 1 of 5 PO-TI-00 Page of 5. PROPOSITO Y ALCANCE El Grupo Corporativo New Horizons y sus compañías operacionales, reconocen en los documentos preparados por los diferentes departamentos y unidades, un papel importante

Más detalles

REQUISITOS...3 CASOS DE USO...4

REQUISITOS...3 CASOS DE USO...4 C A P T U R A D E R E Q U E R I M I E N T O S I n g e r i r í a d e l s o f t w a r e G r u p o D e l t a ÍNDICE REQUISITOS...3 CASOS DE USO...4 Gestionar usuarios visitantes...4 Listar presencias...5

Más detalles

Metodología para implantación de AZDigital

Metodología para implantación de AZDigital Metodología para implantación de AZDigital Localizacion: http://subversion.analitica.com.co:8023/azdigital/docs/rfcs/sgp-rfc-001 Directrices para desarrollo con SGP.docx En este documento se reúne la experiencia

Más detalles

REGLAMENTO DEL USO DE EQUIPOS DE CÓMPUTO, PROYECTORES MULTIMEDIA Y LABORATORIOS DE FACEM

REGLAMENTO DEL USO DE EQUIPOS DE CÓMPUTO, PROYECTORES MULTIMEDIA Y LABORATORIOS DE FACEM REGLAMENTO DEL USO DE EQUIPOS DE CÓMPUTO, PROYECTORES MULTIMEDIA Y LABORATORIOS DE FACEM TITULO I DISPOSICIONES GENERALES Art. 1.- Art. 2.- Art. 3.- El Decano de la Facultad, el Secretario Académico y

Más detalles

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1 RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1 ANTES QUE NADA DEFINIR QUE ES UNA BASE DE DATOS: Una base de datos es una colección estructurada de datos, Un sistema de base de datos es una colección de

Más detalles

Cómo configurar formatos Wiegand personalizados

Cómo configurar formatos Wiegand personalizados Cómo configurar formatos Wiegand personalizados Muchos sistemas de control de acceso utilizan un formato Wiegand para sus tarjetas de usuario con hasta 50 bits de información almacenada. Es necesario filtrar

Más detalles

Satisfacer las necesidades del usuario en cuanto al buen funcionamiento de los equipos informáticos y telefónicos a su cargo.

Satisfacer las necesidades del usuario en cuanto al buen funcionamiento de los equipos informáticos y telefónicos a su cargo. Página 1 de 6 I. OBJETIVO Satisfacer las necesidades del usuario en cuanto al buen funcionamiento de los equipos informáticos y telefónicos a su cargo. II. ALCANCE Aplica a todos los usuarios que laboran

Más detalles

Procedimiento de Solicitud y Control de Cambios a los Sistemas Informáticos Institucionales.

Procedimiento de Solicitud y Control de Cambios a los Sistemas Informáticos Institucionales. Página 1 de 7 1. Propósito. Proveer los mecanismos necesarios para la solicitud de cambios y control de versiones a la funcionalidad de los sistemas informáticos institucionales. 2. Alcance. Aplica a los

Más detalles

PROCEDIMIENTOS DEL NOC RESPALDO Y RECUPERACION DE DATOS

PROCEDIMIENTOS DEL NOC RESPALDO Y RECUPERACION DE DATOS PROCEDIMIENTOS DEL NOC RESPALDO Y RECUPERACION DE DATOS Página 1 de 7 OBJETIVO El objetivo de este procedimiento es describir la política de respaldo por defecto para el NOC de Provectis, entendiéndose

Más detalles

Gestor de bases de datos MicroSoft Access (2 de 4)

Gestor de bases de datos MicroSoft Access (2 de 4) Gestor de bases de datos MicroSoft Access (2 de 4) Departament d Informàtica de Sistemes i Computadors 1 Contenido Conceptos generales Diseño de tablas Propiedades de los campos Ordenación, filtrado e

Más detalles

Grandes de Bases de Datos. Alta disponibilidad Envío de bitácoras

Grandes de Bases de Datos. Alta disponibilidad Envío de bitácoras Grandes de Bases de Alta disponibilidad Envío de bitácoras Introducción Funcionamiento BD Envío de bitácoras 1 2 3 Árbol de consulta Sentencia UPDATE transacciones Medio físico Optimizador Motor Relacional

Más detalles

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. MEMORIAS CACHE Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. Tiempo ciclo memoria > tiempo de ciclo del procesador la CPU debe esperar a la memoria

Más detalles

Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) como una colección de datos relacionados entr

Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) como una colección de datos relacionados entr Introducción Arquitectura de los DBMS Lenguajes de los DBMS Diccionario de datos Seguridad e integridad de los datos Administrador del DBMS Arquitectura Cliente-Servidor Definimos un Sistema Gestor de

Más detalles

Administración de dispositivos móviles

Administración de dispositivos móviles Administración de dispositivos móviles La herramienta de Administración de movilidad es un complemento de LANDesk Management Suite que permite detectar los dispositivos móviles que tienen acceso a los

Más detalles

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace 1 Redes y Servicios Módulo I. Fundamentos y modelos de red Tema 2. Fundamentos Parte B. Nivel de enlace 2 Introducción Dos funciones básicas del nivel de enlace: Motivación? Control de flujo Motivación?

Más detalles

Servicios del Sistema Operativo (SO)

Servicios del Sistema Operativo (SO) Servicios del Sistema Operativo (SO) Un SO brinda un entorno para ejecutar programas. Este, ofrece servicios a los programas y a los usuarios de dichos programas. Por supuesto, los servicios específicos

Más detalles

MANUAL DE POLÍTICA CONTROL DE LICENCIAS DE SOFTWARE

MANUAL DE POLÍTICA CONTROL DE LICENCIAS DE SOFTWARE MANUAL DE POLÍTICA CONTROL DE LICENCIAS DE SOFTWARE INDICE 1. INTRODUCCION 02 2. OBJETIVO GENERAL..02 3. OBJETIVOS ESPECIFICOS 02 4. ALCANCE 02 5. DEFINICIONES...... 03 5.1. Licencia de Software...03 5.2.

Más detalles

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché Area Académica: Sistemas Computacionales Tema: Elementos de diseño de memoria caché Profesor: Raúl Hernández Palacios Periodo: 2011 Keywords: Memory, cache memory. Tema: Elementos de diseño de memoria

Más detalles

TEMA 2: Estructuras de Control: Condicionales

TEMA 2: Estructuras de Control: Condicionales UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE MATEMÁTICA INTRODUCCIÓN A LA COMPUTACIÓN TEMA 2: Estructuras de Control: Condicionales Estructuras Condicionales En un algoritmo se tiene

Más detalles

Qué es un programa informático?

Qué es un programa informático? Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s

Más detalles

Manual del padre de familia

Manual del padre de familia Manual del padre de familia Contenido 1. Qué es el Programa ICT Starters?... 1 2. Requerimientos mínimos de hardware... 2 3. Requerimientos mínimos de software... 2 4. Cómo dar de alta a su hijo?... 3

Más detalles

HP - UX. Qué es HP UX?

HP - UX. Qué es HP UX? HP - UX Integrantes: Cisneros Pedraza Christian. Jiménez Nieves José Manuel. Villanueva Armenta Fernando. Qué es HP UX? Hp UX es una variante de Unix creada por los desarrolladores de software de HP. Provee

Más detalles

PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI

PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI PROTOCOLO IP Tema 1 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto Cada dispositivo de una red debe definirse en forma exclusiva. En la capa de red, es necesario identificar los paquetes de la transmisión

Más detalles

Mercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten

Mercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten 22//22 REDES DE PETRI: PROPIEDADES Y MÉTODOS DE ANÁLISIS PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 22/3 REDES DE PETRI: PROPIEDADES

Más detalles

Bases de Datos I. Cursada 2008. Clase 7: Recuperación de BD. Introducción a la Seguridad. Introducción a la Seguridad

Bases de Datos I. Cursada 2008. Clase 7: Recuperación de BD. Introducción a la Seguridad. Introducción a la Seguridad Bases de Datos I Cursada 2008 Clase 7: Recuperación de BD Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. 1 Introducción a la Seguridad Una base de datos es: Un conjunto de

Más detalles

Recuperación de Bases de Datos

Recuperación de Bases de Datos Recuperación de Bases de Datos M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Concepto de Recuperación La recuperación de fallos a transacciones casi

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Romero Martínez, Modesto

Colección de Tesis Digitales Universidad de las Américas Puebla. Romero Martínez, Modesto 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto El procesamiento de consultas en un sistema multibase de datos es la pieza mas importante para la operación del

Más detalles

Manejo de Transacciones

Manejo de Transacciones Bases de Datos Transacciones 1 Manejo de Transacciones Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos Transacciones 2 Transacciones Hasta ahora el modelo de operación en la BD

Más detalles

CAPÍTULO 4 TÉCNICA PERT

CAPÍTULO 4 TÉCNICA PERT 54 CAPÍTULO 4 TÉCNICA PERT Como ya se mencionó en capítulos anteriores, la técnica CPM considera las duraciones de las actividades como determinísticas, esto es, hay el supuesto de que se realizarán con

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto

Más detalles

Transacciones, Recuperación y Control de Concurrencia

Transacciones, Recuperación y Control de Concurrencia Transacciones, Recuperación y Control de Concurrencia Diseño de Bases de Datos Relacionales Curso 2011/2012 Sergio Ilarri silarri@unizar.es Transacciones (I) Transacción Secuencia de operaciones que deben

Más detalles

Alcance y descripción del servicio. Creador Web IPLAN

Alcance y descripción del servicio. Creador Web IPLAN Alcance y descripción del servicio Creador Web IPLAN 1. Introducción. Nuestra solución de Creador Web IPLAN, ofrece flexibilidad y simpleza permitiendo publicar un sitio Web en Internet, utilizando la

Más detalles

PROCEDIMIENTO SOBRE PERMISOS DE TRABAJO DE SEGURIDAD INDUSTRIAL EN EL ÁREA ENERGÍA

PROCEDIMIENTO SOBRE PERMISOS DE TRABAJO DE SEGURIDAD INDUSTRIAL EN EL ÁREA ENERGÍA PROCEDIMIENTO SOBRE PERMISOS DE TRABAJO DE SEGURIDAD INDUSTRIAL EN EL ÁREA ENERGÍA APROBACIÓN RES.(GG) Nº 127/004 VIGENCIA 07/09/2004 ÍNDICE 1. OBJETO... 2 2. ALCANCE... 2 3. GENERALIDADES... 2 3.1. TAREA

Más detalles

C O N T E N I D O. 1. Propósito. 2. Alcance. 3. Responsabilidad y autoridad. 4. Normatividad aplicable. 5. Políticas

C O N T E N I D O. 1. Propósito. 2. Alcance. 3. Responsabilidad y autoridad. 4. Normatividad aplicable. 5. Políticas - C O N T E N I D O 1. Propósito 2. Alcance 3. y autoridad 4. Normatividad aplicable 5. Políticas 6. Diagrama de bloque del procedimiento 7. Glosario 8. Anexos Anexo 1 : Solicitud de un Proyecto Web Anexo

Más detalles

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4 I IDENTIFICACION Nombre de la asignatura : Sistemas de Computación Código : 503429 Nivel (semestre de la carrera) : 7 Carrera : Ingeniería Civil Informática Nº de créditos : 4 Duración : Un semestre Pre-requisitos

Más detalles

Instructivo para el llenado del Formato 02 Control de Cambios

Instructivo para el llenado del Formato 02 Control de Cambios Instructivo para el llenado del Formato 02 Control de Cambios Pestaña Solicitud de Cambios Datos Generales Se refiere a los datos generales del aplicativo y control de cambios Campo Descripción N de Control

Más detalles

Guía de uso del Sistema de Declaración Jurada Sistema Control E- Learning

Guía de uso del Sistema de Declaración Jurada Sistema Control E- Learning Guía de uso del Sistema de Declaración Jurada Sistema Control E- Learning Unidad de Administración de Franquicia Tributaria Perfil de Organismo Técnico de Capacitación Versión 6.0 Noviembre de 2016 Contenido

Más detalles

Aspectos Básicos de Networking

Aspectos Básicos de Networking Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Contextualización Existen diferencias en los servicios de protocolos? Los protocolos

Más detalles

Net-LAN. Guía rápida del Kit inalámbrico NetLAN para ZyXEL P660 HW61

Net-LAN. Guía rápida del Kit inalámbrico NetLAN para ZyXEL P660 HW61 Net-LAN Guía rápida del Kit inalámbrico NetLAN para ZyXEL P660 HW61 Índice 1. INTRODUCCIÓN...3 2. FUNCIONAMIENTO DEL KIT INALÁMBRICO PARA NETLAN...4 2.1 Instalación del configurador...4 2.2 Proceso de

Más detalles

Transacciones y concurrencia. Sistemas de persistencia de objetos

Transacciones y concurrencia. Sistemas de persistencia de objetos Transacciones y concurrencia Sistemas de persistencia de objetos Transacción ACID Es la demarcación de una unidad de trabajo JPA permite trabajar con varios API de transacciones JSE JDBC JTA Declarativas

Más detalles