14. Control de la concurrencia

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

Download "14. Control de la concurrencia"

Transcripción

1 14. Control de la concurrencia Objetivos Conocer la problemática asociada a la concurrencia de transacciones en los sistemas de bases de datos Entender el significado de la seriabilidad y su aplicación al control de la concurrencia Comprender algunas técnicas para el control de concurrencia empleadas por el sistema gestor de bases de datos. Tema 14. Control de la concurrencia Control de la concurrencia Contenidos 1. Introducción y problemas de la concurrencia 2. Seriabilidad de los planes de transacciones 3. Técnicas de control de la concurrencia 4. Granularidad de datos Anexo 1. Niveles de aislamiento de transacciones en SQL-92 Anexo 2. Acerca del control de la concurrencia en Oracle Tema 14. Control de la concurrencia 2

2 14. Control de la concurrencia Bibliografía [EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 19 y 20) [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoamericana. (Cap. 17 y 18) [CBS 1998] Connolly, T.; Begg C.; Strachan, A.: Database Systems: A Practical Approach to Design, Implementation and Management. 2 nd Edition. Addison- Wesley. (Cap. 17) Tema 14. Control de la concurrencia Introducción y problemas de la concurrencia Los sistemas de bases de datos, según el número de usuarios que pueden utilizarlos de forma concurrente, se clasifican en monousuario multiusuario El que varios usuarios puedan usar un mismo equipo a la vez, se debe a la multiprogramación: el computador puede procesar al mismo tiempo varias transacciones Si el equipo tiene varias CPU, es posible el procesamiento simultáneo de transacciones Si sólo hay una CPU, el SO de multiprogramación reparte el tiempo de CPU entre los programas: ejecución concurrente intercalada (*modelo que supondremos*) Véase figura 1 Varias transacciones introducidas por los usuarios, que se ejecutan de manera concurrente, pueden leer/modificar los mismos elementos almacenados en la base de datos Tema 14. Control de la concurrencia 4

3 14.1 Introducción y problemas de la concurrencia Por qué es necesario el control de la concurrencia?... porque pueden surgir problemas cuando las transacciones concurrentes se ejecutan de manera no controlada Ejemplo sencillo: sistema de bases de datos que permite hacer y anular reservas de vuelos Se almacena un registro por cada vuelo, que incluye, entre otras cosas, el número de asientos reservados en el vuelo Sean dos transacciones T1 y T2 concurrentes: T1 transfiere N reservas realizadas en un vuelo V_X a otro vuelo V_Y T2 reserva M plazas en el vuelo V_X Véase figura 2 Dentro de este sistema de BD, un programa para la reserva o cancelación de vuelos tiene como parámetros: Los números de vuelos, sus fechas, el número de plazas que reservar/cancelar Así que un mismo programa puede usarse para ejecutar muchas transacciones (ejecución específica de un programa transacción) Tema 14. Control de la concurrencia Introducción y problemas de la concurrencia Problemas La actualización perdida T1 y T2 que acceden a los mismos datos, tienen sus operaciones intercaladas de modo que hacen incorrecto el valor de algún dato La actualización temporal (o lectura sucia) T1 actualiza un elemento X de la BD y luego falla, pero antes de que se restaure el valor original de X, T2 tiene acceso al «valor temporal» de X El resumen incorrecto T1 calcula una función agregada de resumen sobre varios registros, mientras otras transacciones actualizan dichos registros: puede que T1 considere algunos registros antes de que se actualicen y otros después de actualizarse. La lectura no repetible T1 lee un elemento X dos veces y otra transacción T2 modifica dicho X entre las dos lecturas: T1 recibe diferentes valores para el mismo elemento Véase figura 3 Tema 14. Control de la concurrencia 6

4 14.2 Seriabilidad de los planes de transacciones Planes de transacciones Un plan es un orden de ejecución de las operaciones de varias transacciones que se ejecutan de manera concurrente e intercalada Un plan P de n transacciones T 1, T 2,..., T n es un ordenamiento de las operaciones de las transacciones, sujeto a la restricción de que para cada transacción T i que participa en P, sus operaciones deben aparecer en P en el mismo orden en que ocurren en T i En P, las operaciones de otras T k pueden intercalarse con las de T i Véase figura 4 Tema 14. Control de la concurrencia Seriabilidad de los planes de transacciones Operaciones interesantes en un plan de transacciones Para fines de control de concurrencia (y recuperación de fallos), interesa prestar mayor atención a estas operaciones de transacción: Operación LEER_ELEMENTO ESCRIBIR_ELEMENTO COMMIT ROLLBACK abreviatura Ejemplo de dos planes de transacciones P a : l 1 (X) ; l 2 (X) ; e 1 (X) ; l 1 (Y) ; e 2 (X) ; c 2 ; e 1 (Y) ; c 1 ; P b : l 1 (X) ; e 1 (X) ; l 2 (X) ; e 2 (X) ; c 2 ; l 1 (Y) ; r 1 ; l e c r Tema 14. Control de la concurrencia 8

5 14.2 Seriabilidad de los planes de transacciones Planes y seriabilidad Si no se permite la intercalación de operaciones de varias transacciones, T1 y T2, sólo hay dos formas de ordenar tales operaciones: Ejecutar las operaciones de T1, seguidas de las de T2 en secuencia Ejecutar las operaciones de T2, seguidas de las de T1 en secuencia Véase figuras 4(a) y (b) Si se permite la intercalación, existen muchos órdenes posibles Véase figura 4(c) cuáles son correctos? existen técnicas de control de concurrencia que eviten planes incorrectos? ** Teoría de la Seriabilidad ** Tema 14. Control de la concurrencia Seriabilidad de los planes de transacciones Planes en serie Un plan P es en serie si, para cada transacción T que participa en el plan, todas sus operaciones se ejecutan consecutivamente en el plan de lo contrario (si hay intercalación), P es un plan no en serie si las transacciones son independientes entre sí, todo plan en serie se considera correcto toda transacción es correcta si se ejecuta sin interferencias (propiedad de Conservación de la Consistencia) y Ninguna transacción necesita de otra para ejecutarse (independencia) no importa cuál se ejecute primero: resultado final correcto Pero los planes en serie limitan la concurrencia en general, son inaceptables en la práctica (ineficiencia) Hemos de determinar qué planes no en serie... siempre dan un resultado correcto y cuáles pueden dar un resultado erróneo Tema 14. Control de la concurrencia 10

6 14.2 Seriabilidad de los planes de transacciones Planes seriables Un plan P es seriable si es equivalente a algún plan en serie de las mismas n transacciones Un plan que no es equivalente a ningún plan en serie, es no seriable Si un plan no en serie P es seriable, entonces P es correcto Pero... cuándo son equivalentes dos planes? Si producen el mismo estado final en la base de datos Equivalencia por resultados Y si eso se cumple por casualidad? --- no sirve! Véase figura 5, si X=100 (además, son transacciones distintas!!) Si las operaciones sobre cada dato afectado por los planes, se aplican al elemento en el mismo orden en ambos planes Equivalencia por conflictos Equivalencia de vistas Tema 14. Control de la concurrencia Seriabilidad de los planes de transacciones Operaciones en conflicto dentro de un plan Dos operaciones de un plan P están en conflicto si pertenecen a diferentes transacciones, tienen acceso al mismo elemento X, y al menos una de ellas es ESCRIBIR_ELEMENTO(X) Operaciones en conflicto en P a : l 1 (X) ; l 2 (X) ; e 1 (X) ; l 1 (Y) ; e 2 (X) ; c 2 ; e 1 (Y) ; c 1 ; l 1 (X) ; l 2 (X) ; e 1 (X) ; l 1 (Y) ; e 2 (X) ; c 2 ; e 1 (Y) ; c 1 ; l 1 (X) ; l 2 (X) ; e 1 (X) ; l 1 (Y) ; e 2 (X) ; c 2 ; e 1 (Y) ; c 1 ; Operaciones NO en conflicto en P a : l 1 (X) ; l 2 (X) ; e 1 (X) ; l 1 (Y) ; e 2 (X) ; c 2 ; e 1 (Y) ; c 1 ; l 1 (X) ; l 2 (X) ; e 1 (X) ; l 1 (Y) ; e 2 (X) ; c 2 ; e 1 (Y) ; c 1 ; etc. Tema 14. Control de la concurrencia 12

7 14.2 Seriabilidad de los planes de transacciones Planes seriables por conflictos Dos planes son equivalentes por conflictos si el orden de cualesquiera dos operaciones en conflicto es el mismo en ambos planes Un plan P es seriable por conflictos si es equivalente por conflictos a algún plan en serie S El orden de las operaciones en conflicto en P coincide con el orden en que se ejecutarían en algún plan en serie Podremos reordenar las operaciones de P que no estén en conflicto, hasta obtener el plan en serie S equivalente a P» El plan D de la figura 4(c) es equivalente al plan A de la figura 4(a), así que D es un plan seriable» El plan C de la figura 4(c) no es equivalente a A ni tampoco a B, por lo que el plan C no es seriable Tema 14. Control de la concurrencia Seriabilidad de los planes de transacciones Prueba de la seriabilidad por conflictos de un plan Algoritmo de comprobación de si un plan P es seriable por conflictos Considerar operaciones LEER_ELEMENTO y ESCRIBIR_ELEMENTO Construir el grafo de precedencia dirigido G=(N, A) N = {T 1, T 2,... T n } conjunto de nodos crear un nodo por cada transacción T i en P T i A = {a 1, a 2,... a m } conjunto de arcos dirigidos ai = (T j fit k ), con 1 j n, 1 k n si una operación de T j aparece en el plan antes que alguna operación en conflicto de T k, crear el arco desde T j a T k Véase figura Algoritmo T j T k Tema 14. Control de la concurrencia 14

8 14.2 Seriabilidad de los planes de transacciones Prueba de la seriabilidad por conflictos de un plan (y 2) Si hay un ciclo en el grafo, P no es seriable por conflictos Un ciclo es una secuencia de aristas C=((T j T k ), (T k T p ),... (T i T j )) Si no hay ciclos en el grafo, P es seriable es posible crear un plan en serie S equivalente a P, mediante una ordenación de las transacciones T j T k indica que T j debe ir antes que T k en un plan en serie equivalente a P pues dos operaciones en conflicto aparecen en dicho orden en P Véase figuras 6 y 7 Tema 14. Control de la concurrencia Seriabilidad de los planes de transacciones Plan de transacciones completo Un plan P es completo si Las operaciones de P son las de T 1, T 2,..., T n incluida una última operación de COMMIT o ROLLBACK para cada transacción en el plan 2. Para cualquier par de operaciones de una transacción T i, su orden de aparición en P es el mismo que su orden de aparición en T i 3. Para cualesquiera dos operaciones en conflicto, una de ellas debe ocurrir antes que la otra en el plan Esto permite que dos operaciones que no estén en conflicto, ocurran en P sin determinar cuál se ejecuta primero un plan es un orden parcial de las operaciones de n transacciones Pero es necesario especificar un orden total entre... cualquier par de operaciones de la misma transacción T i (condición 2) todo par de operaciones en conflicto (condición 3) Nunca contiene transacciones activas al final del plan Todas hacen COMMIT o ROLLBACK (condición 1) Tema 14. Control de la concurrencia 16

9 14.2 Seriabilidad de los planes de transacciones Proyección confirmada de un plan En un sistema de procesamiento de transacciones es difícil encontrar planes completos, pues continuamente se introducen transacciones en el sistema Así pues... cuándo comienza y termina un plan? La teoría de la seriabilidad considera la proyección confirmada de un plan P, C(P), que incluye sólo las operaciones de P que pertenecen a transacciones confirmadas Un plan P es seriable si su proyección confirmada C(P) es equivalente a algún plan en serie, ya que el SGBD sólo garantiza las transacciones confirmadas Tema 14. Control de la concurrencia Seriabilidad de los planes de transacciones Aplicaciones de la seriabilidad Un plan P seriable, además de ser correcto (como un plan en serie) permite la concurrencia Pero es muy difícil comprobar por anticipado la seriabilidad de P Planificador de Tareas del SO Orden de las operaciones de un plan P Carga del sistema Momento de introducción de las transacciones Prioridades de procesos ( transacciones)... Parece, pues, que ha de comprobarse si el plan P es seriable una vez ejecutadas la transacciones incluidas en P... Tema 14. Control de la concurrencia 18

10 14.2 Seriabilidad de los planes de transacciones Aplicaciones de la seriabilidad (y 2) Ejecución de Transacciones P seriable? SI NO Cancelar el efecto del Plan enfoque muy poco práctico!! OK Es necesario encontrar métodos que garanticen la seriabilidad, sin tener que verificar los planes Tema 14. Control de la concurrencia 19 Métodos basados en la teoría de la seriabilidad, que definen un conjunto de reglas (o protocolo) tal que... si todas las transacciones las cumplen, o el subsistema de control de concurrencia del SGBD las impone (automáticamente)... aseguran la seriabilidad de todo plan de transacciones Tipos de protocolos Basados en bloqueos Basados en marcas de tiempo Técnicas de multiversión Protocolos optimistas Tema 14. Control de la concurrencia 20

11 Protocolos basados en bloqueos: Candados Un candado... Es una variable asociada a un elemento de información X Describe su estado respecto a las operaciones aplicables a X Sincroniza el acceso al elemento X por parte de transacciones concurrentes El Gestor de Bloqueos (subsistema del SGBD) gestiona y controla el acceso a los candados Tipos de candados Candados binarios Candados de modo múltiple Tema 14. Control de la concurrencia 21 Protocolos basados en bloqueos: Candados binarios Un candado binario tiene dos estados o valores posibles: Bloqueado (1) Desbloqueado (0) Si candado(x)=1, ninguna transacción T que solicite X tendrá acceso a X Si candado(x)=0, T podrá acceder a X cuando lo solicite Las transacciones deben incluir las operaciones... BLOQUEAR(X), para solicitar acceso al elemento X (LOCK) DESBLOQUEAR(X), después de usar el elemento X (UNLOCK) Véase figura 8 Exclusión mutua sobre X Tema 14. Control de la concurrencia 22

12 Protocolos basados en bloqueos: Candados binarios (y 2) Reglas en el bloqueo binario 1. T debe emitir BLOQUEAR(X) antes de que se realice cualquier operación LEER_ELEMENTO(X) o ESCRIBIR_ELEMENTO(X) en T 2. T debe emitir DESBLOQUEAR(X) después de haber completado todas las operaciones LEER_ELEMENTO(X) y ESCRIBIR_ELEMENTO(X) en T 3. T no emitirá BLOQUEAR(X) si ya bloqueó X (posee su candado) 4. T no emitirá DESBLOQUEAR(X) salvo si posee el bloqueo de X Sólo una transacción puede poseer el candado de X Dos transacciones no pueden tener acceso concurrente al mismo elemento Bastante restrictivo! Tema 14. Control de la concurrencia 23 Protocolos basados en bloqueos: Candados múltiples Un candado de modo múltiple tiene tres estados posibles: Bloqueado para lectura Bloqueado para escritura Desbloqueado Las transacciones deben incluir las operaciones... BLOQUEAR_LECTURA(X) BLOQUEAR_ESCRITURA(X) DESBLOQUEAR(X) Un elemento X bloqueado para... lectura tiene un CANDADO COMPARTIDO: otras T s pueden leer X escritura tiene un CANDADO EXCLUSIVO: T posee X en exclusiva Véase figura 9 Tema 14. Control de la concurrencia 24

13 Protocolos basados en bloqueos: Candados múltiples (2) Reglas en el bloqueo de modo múltiple 1. T debe emitir BLOQUEAR_LECTURA(X) o BLOQUEAR_ESCRITURA(X) antes de que se realice cualquier operación LEER_ELEMENTO(X) en T 2. T debe emitir BLOQUEAR_ESCRITURA(X) antes de realizar cualquier operación ESCRIBIR_ELEMENTO(X) en T 3. T debe emitir DESBLOQUEAR(X) una vez completadas todas las operaciones LEER_ELEMENTO(X) y ESCRIBIR_ELEMENTO(X) de T 4. T no emitirá BLOQUEAR_LECTURA(X) si ya posee un candado de lectura (compartido) o de escritura (exclusivo) para X *puede permitir excepciones* 5. T no emitirá BLOQUEAR_ESCRITURA(X) si ya posee un candado de lectura o de escritura para el elemento X *esta regla puede permitir excepciones* 6. T no emitirá DESBLOQUEAR(X) salvo si posee un candado de lectura (compartido) o de escritura (exclusivo) para X Tema 14. Control de la concurrencia 25 Protocolos basados en bloqueos: Candados múltiples (y 3) Excepciones para las reglas 5 y 4 Promoción y Degradación de candados Si T emitió BLOQUEAR_LECTURA(X), luego puede promover el candado emitiendo BLOQUEAR_ESCRITURA(X) OK si T es la única que tiene X bloqueado para lectura, si no, T debe esperar y reintentarlo después Si T emitió BLOQUEAR_ESCRITURA(X), luego puede degradar el candado emitiendo BLOQUEAR_LECTURA(X) Así permite que otras transacciones lean X Tema 14. Control de la concurrencia 26

14 Protocolos basados en bloqueos El uso de candados para la programación de transacciones no garantiza la seriabilidad de los planes Véase figura 10 Es necesario seguir un protocolo adicional que indique dónde colocar las operaciones de bloqueo y desbloqueo de candados dentro de las transacciones El protocolo más conocido, que permite emitir de forma adecuada las operaciones de bloqueo y desbloqueo, es el Protocolo de Bloqueo en Dos Fases (B2F) Tema 14. Control de la concurrencia 27 Bloqueo en dos fases básico, B2F Una transacción T sigue el protocolo de bloqueo en dos fases si todas las operaciones de bloqueo preceden a la primera operación de desbloqueo De este modo, podemos ver T dividida en dos fases: Fase de expansión (o crecimiento) T puede adquirir (o promover) candados T no puede liberar ningún candado Fase de contracción T puede liberar candados existentes T nopuede adquirir ningún candado Tema 14. Control de la concurrencia 28

15 Bloqueo en dos fases básico, B2F (2) Si se permite promover/degradar candados, ha de variarse la definición general del protocolo: La promoción debe realizarse en la fase de expansión Toda degradación de un candado debe realizarse en la fase de contracción de una transacción Dentro del código de T, un BLOQUEAR_LECTURA(X) que degrada un candado de escritura sobre X, sólo puede aparecer en la fase de contracción de T Véase figuras 10 y 11 Tema 14. Control de la concurrencia 29 Bloqueo en dos fases básico, B2F (y 3) Si toda transacción de un plan sigue el protocolo de bloqueo en dos fases, entonces el plan es seriable Ya no es necesario comprobar la seriabilidad de los planes Al imponer las reglas de bloqueo, también se impone la seriabilidad El B2F puede limitar el grado de concurrencia en un plan Es el precio que hay que pagar por garantizar la seriabilidad de todos los planes sin tener que examinarlos Emplear candados puede provocar problemas de... Bloqueo mortal (Véase figura 12) Espera indefinida Tema 14. Control de la concurrencia 30

16 Bloqueo en dos fases conservador o estático T debe bloquear todos los elementos a los que tendrá acceso (lectura o escritura) antes de comenzar a ejecutarse Si no es posible bloquear algún elemento, T no bloqueará ninguno y esperará para reintentarlo más tarde Protocolo libre de bloqueo mortal Bloqueo en dos fases estricto el más utilizado T no libera ningún candado de escritura hasta terminar (con COMMIT o ROLLBACK) Ninguna otra transacción lee o escribe un elemento modificado por T, salvo si T se ha completado plan de transacciones estricto No libre de bloqueo mortal (salvo si se combina con B2F conservador) Bloqueo en dos fases riguroso más restrictivo que el B2F estricto T no libera ningún candado hasta terminar (con COMMIT o ROLLBACK) Tema 14. Control de la concurrencia 31 El problema del bloqueo (o abrazo) mortal Cada una de dos o más transacciones espera que otra libere su candado sobre cierto elemento de información Véase figura 12 Para resolver el problema, se puede seguir diferentes enfoques: Protocolos de prevención del bloqueo mortal Bloqueo por adelantado Ordenamiento Uso de marcas de tiempo de transacción Protocolo de no esperar Protocolo de espera cautelosa Uso de tiempos predefinidos Protocolos de detección del bloqueo mortal Uso de grafos de espera Tema 14. Control de la concurrencia 32

17 Protocolos de prevención del bloqueo mortal Bloqueo por adelantado Empleado en el B2F conservador Toda T debe bloquear por adelantado todos los elementos que necesita (lectura y/o escritura) Si no puede bloquearlos todos, espera y lo reintenta después» Concurrencia muy limitada Ordenamiento Ordenar los elementos de BD y asegurar que si T necesita varios elementos, los bloqueará en ese orden» Concurrencia muy limitada» El programador debe conocer el orden elegido --- poco práctico! Tema 14. Control de la concurrencia 33 Protocolos de prevención del bloqueo mortal (2) Uso de marca de tiempo de transacción Si T j está implicada en un posible bloqueo mortal, debe esperar, abortar o hacer que otra transacción T k aborte? Marca de tiempo de transacción MT(T): Identificador único para T Las MT se ordenan según se inician las transacciones La T más antigua tiene la MT(T) menor Dos esquemas que usan marcas de tiempo y evitan el bloqueo mortal: Sea T j que intenta bloquear el elemento X, pero X ya está bloqueado por T k con un candado en conflicto Esperar - Morir Herir - Esperar Tema 14. Control de la concurrencia 34

18 Protocolos de prevención del bloqueo mortal (3) Esperar - Morir si MT(T j ) < MT(T k ) entonces T j puede esperar si no, se aborta T j (T j muere) y se reinicia después con la misma marca de tiempo» Una T j más antigua espera a que termine otra T k más reciente» Una T j más reciente que solicita un elemento bloqueado por una T k más antigua, es abortada y reiniciada Herir - Esperar si MT(T j ) < MT(T k ) entonces se aborta T k (T j hiere a T k ) y se reinicia después con la misma MT si no, T j puede esperar» Una T j más reciente espera a que termine una T k más antigua» Una T j más antigua que solicita un elemento bloqueado por una T k más reciente, hace que la más reciente sea abortada y reiniciada Tema 14. Control de la concurrencia 35 Protocolos de prevención del bloqueo mortal (4) Ventajas e inconvenientes del uso de marcas de tiempo Protocolos libres de bloqueo mortal Ambos hacen que sean abortadas y reiniciadas transacciones que podrían provocar un bloqueo mortal, aunque tal cosa nunca ocurriera! En el esquema Esperar-Morir, una T j podría abortar y reiniciarse varias veces seguidas si T k más antigua sigue bloqueando el X que T j solicita Tema 14. Control de la concurrencia 36

19 Protocolos de prevención del bloqueo mortal (5) Protocolo de no esperar Si T no puede obtener un candado, es abortada y reiniciada después Al abortar T, no se comprueba si ocurrirá o no un bloqueo mortal» Demasiados abortos y reinicios innecesarios Protocolo de espera cautelosa Si T k no está detenida (esperando algún otro elemento bloqueado) entonces T j se detiene y espera Si no, se aborta T j Protocolo libre de bloqueo mortal Uso de tiempos predefinidos Si T espera un tiempo > tiempo predefinido por el sistema entonces el sistema supone que T está en bloqueo mortal y aborta T Al abortar T, no se comprueba si realmente está o no en un bloqueo mortal Tema 14. Control de la concurrencia 37 Protocolos de detección del bloqueo mortal Verificación periódica del estado del sistema está en un bloqueo mortal? Conviene detectar el bloqueo mortal cuando se sabe que hay poca interferencia entre transacciones (casi nunca acceden a los mismos datos al mismo tiempo), es decir si... las transacciones son cortas y bloquean pocos elementos, o la carga de transacciones es pequeña Y conviene prevenir el bloqueo mortal cuando... Las transacciones son largas y bloquean muchos elementos, o si la carga de transacciones es elevada Tema 14. Control de la concurrencia 38

20 Protocolos de detección del bloqueo mortal (2) Uso de grafos de espera para detectar un bloqueo mortal Crear un nodo por cada transacción en ejecución, etiquetado con el identificador de la transacción, T Si T j espera para bloquear el elemento X, ya bloqueado por T k, crear un arco dirigido desde T j a T k X Cuando T k libera el candado sobre X, borrar la arista correspondiente T j T j T k T k Si en algún momento, existe un ciclo en el grafo de espera, entonces se ha detectado un bloqueo mortal entre las transacciones Tema 14. Control de la concurrencia 39 Protocolos de detección del bloqueo mortal (y 3) Pero... cuándo hay que verificar el estado del sistema? Cuando hay cierto número de transacciones en ejecución, o Cuando varias transacciones en ejecución están cierto tiempo esperando bloquear elementos Véase figura 12 Si el sistema está en un estado de bloqueo mortal, es necesario abortar algunas de las transacciones que lo provocan... pero cuáles? selección de víctimas No elegir transacciones que lleven mucho tiempo en ejecución y hayan realizado muchas modificaciones Seleccionar como víctimas transacciones que... nohan realizado muchos cambios participan en varios ciclos de bloqueo mortal en el grafo de espera Tema 14. Control de la concurrencia 40

21 El problema de la espera indefinida Una transacción no puede seguir durante un tiempo indeterminado, mientras otras transacciones continúan ejecutándose con normalidad Ocurre si el esquema de espera da más prioridad a unas transacciones que a otras esquema de espera injusto Dos protocolos de prevención de espera indefinida Consiguen un esquema de espera justo El primero que llega, es el primero en ser atendido Las T s puede bloquear el elemento X en el orden en que solicitaron su bloqueo Aumento de prioridad en la espera Cuanto más espera T, mayor es su prioridad Cuando T tiene la prioridad más alta de todas, continúa su ejecución Tema 14. Control de la concurrencia 41 El problema de la espera indefinida (y 2) Es un problema que puede surgir debido a los algoritmos de resolución del bloqueo mortal (selección de víctimas) Una transacción es seleccionada para ser abortada (víctima) sucesivamente: nunca termina su ejecución La solución es asignar prioridades más altas a las T abortadas varias veces, para no ser siempre las víctimas Los esquemas utilizados en Esperar-Morir y Herir-Esperar evitan la espera indefinida Tema 14. Control de la concurrencia 42

22 14.4 Granularidad de datos Elementos de bases de datos y granularidad Toda técnica de control de concurrencia supone que la base de datos está constituida por un conjunto de elementos de datos con nombre Un elemento puede ser... un valor de campo de un registro de la BD un registro de la BD un bloque de disco un fichero la BD completa Granularidad = tamaño del elemento de información Granularidad fina elementos de tamaño pequeño Granularidad gruesa elementos grandes Tema 14. Control de la concurrencia Granularidad de datos Elección del tamaño adecuado del elemento de datos Para cada elemento se tiene un candado distinto En el contexto del bloqueo, el tamaño del elemento afecta al grado de concurrencia de las transacciones: tamaño(elemento) Grado de concurrencia Pero también... número de elementos en la BD (y de candados) trabajo para el gestor de candados, y espacio ocupado por la tabla de bloqueos Pero... cuál es el tamaño adecuado para los elementos?... pues depende del tipo de las transacciones implicadas... Si una T representativa accede a pocos registros elegir granularidad de registro Si T accede a muchos registros de un mismo fichero elegir granularidad de bloque o de fichero Tema 14. Control de la concurrencia 44

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

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski.

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski. Transacción a los conceptos del Procesamiento de las Transacciones Definición Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica de procesamiento. Una transacción

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

15. Recuperación de fallos del sistema

15. Recuperación de fallos del sistema 15. Recuperación de fallos del sistema Objetivos Apreciar la necesidad de establecer un producto fiable, capaz de proteger la información frente a fallos del sistema Identificar los tipos de fallos que

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

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

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

Sistemas Operativos Tema 11. Interbloqueo José Miguel Santos C. Rubén García - Alexis Quesada

Sistemas Operativos Tema 11. Interbloqueo José Miguel Santos C. Rubén García - Alexis Quesada Sistemas Operativos Tema 11. Interbloqueo 1998-2008 José Miguel Santos C. Rubén García - Alexis Quesada 1 Contenidos Caracterización del interbloqueo Estrategias de tratamiento del interbloqueo Métodos

Más detalles

2. Proceso de creación de bases de datos

2. Proceso de creación de bases de datos 2. Proceso de creación de bases de datos Contenidos 2.1 Ciclo de vida de un sistema de aplicación de bases de datos 2.2.1 El proceso de diseño 2.2.2 Conceptos y etapas de un método de diseño 2.2.3 Características

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

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II Conceptos sobre procesamiento de transacciones Tema 3: Bases de Datos II Contenidos del tema 3 1. Introducción 2. Propiedades deseables en las transacciones. 3. Conceptos de transacciones y sistemas. 4.

Más detalles

Interbloqueos. Módulo 7. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Interbloqueos. Módulo 7. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Interbloqueos Módulo 7 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Módulo 7: Interbloqueos Modelo de Sistema Caracterización de Interbloqueos

Más detalles

Introducción a los sistemas de bases de datos

Introducción a los sistemas de bases de datos Introducción a los sistemas de bases de datos Bases de datos II: Tema 1 Bases de Datos II: Esther de Ves / Vicente Cerverón - Tema 1 1 Estructura del tema Qué es un sistema SGBD? Por qué utilizar un SGBD?

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

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

UNIVERSIDAD NACIONAL DE ITAPUA U.N.I. Creada por Ley Nº:1.009/96 del 03/12/96 Facultad de Ingeniería PROGRAMA DE ESTUDIOS

UNIVERSIDAD NACIONAL DE ITAPUA U.N.I. Creada por Ley Nº:1.009/96 del 03/12/96 Facultad de Ingeniería PROGRAMA DE ESTUDIOS Materia: Base de Datos Semestre: Cuarto Ciclo: Ingeniería Informática Código: 102 Teóricas: 4 Horas Semanales: Prácticas: - Laboratorio: 2 Horas Semestrales: Teóricas: 68 Pre-Requisitos: Prácticas: - Laboratorio:

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 - 2012 Concepto de Recuperación La recuperación de fallos a transacciones casi

Más detalles

BASES de DATOS ÁCTIVAS

BASES de DATOS ÁCTIVAS BASES de DATOS ÁCTIVAS Bibliografía Piattini & Díaz (2000). Advanced Database Technology and Design. Capt. 3 Elmasri & Navathe (2000). Fundamentals of DBS, Capt. 23.1 Garcia-Molina, Ullman & Widom 2002.

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

Transacciones. Carlos A. Olarte BDII

Transacciones. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Outline 1 2 Ejecuciones Concurrentes 3 Secuencialidad en Cuanto a Conflictos 4 Secuencialidad en Cuanto a Vistas 5 Recuperabilidad 6 en SQL Transacción Definición

Más detalles

Bases de Datos Distribuidas. Carlos A. Olarte BDII

Bases de Datos Distribuidas. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Fragmentación de Datos 3 Transparencia de Red 4 Transacciones Distribuidas 5 Control de Concurrencia Introducción Por que distribuir

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

Cliente- Servidor. Bases de Datos Distribuidas

Cliente- Servidor. Bases de Datos Distribuidas 1 2 3 4 Cliente- Servidor La tecnología que se utiliza habitualmente para distribuir datos es la que se conoce como entorno (o arquitectura) cliente/servidor (C/S). Todos los SGBD relacionales del mercado

Más detalles

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones Práctica 4: Estudio del SGBD Oracle 10 El SGBD Oracle 10 Objetivos estudio de la gestión de transacciones. estudio de las estrategias para la comprobación de la integridad. estudio de las estrategias para

Más detalles

Supervisor v4.6. Apéndice 1. Herramientas automatizadas de gestión remota

Supervisor v4.6. Apéndice 1. Herramientas automatizadas de gestión remota v4.6 Apéndice 1 Herramientas automatizadas de gestión remota ÍNDICE DE CONTENIDOS 1. INTRODUCCIÓN... 4 2. RONDAS... 5 2.1 RONDA MANUAL... 5 2.2 RONDAS AUTOMÁTICAS... 5 2.2.1 Definición de una ronda...

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

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

5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$

5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$ 5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$ Siempre que se introduce una transacción T en el SGBD para ejecutarla, éste debe asegurarse de... a) que todas las operaciones de T se completen con éxito y su efecto quede

Más detalles

Bases de datos 1. Teórico: Introducción

Bases de datos 1. Teórico: Introducción Bases de datos 1 Teórico: Introducción Conceptos generales Base de Datos: Es un conjunto de datos relacionados Representa algún aspecto del mundo real Es construida para un propósito específico Database

Más detalles

Mecanismos de Recuperación

Mecanismos de Recuperación Mecanismos de Recuperación Índice Aspectos generales sobre Tipos de fallos Fallos con pérdida de memoria volátil Actualización inmediata Actualización diferida Fallos con pérdida de memoria estable Mecanismos

Más detalles

Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro

Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto

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

Bases de Datos: Introducción

Bases de Datos: Introducción Bases de Datos: Introducción Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Sistemas de Información/Sistemas Informáticos v En

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

De que hay que Recuperarse?

De que hay que Recuperarse? Conceptos de Recuperación de Información en Bases de Datos [EN - 21] CSI-INCO Fundamentos de Bases de Datos 1 De que hay que Recuperarse? En un sistema, se pueden dar fallas que pongan en riesgo la integridad

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

11. Seguridad en sistemas de bases de datos

11. Seguridad en sistemas de bases de datos 11. Seguridad en sistemas de bases de datos Objetivos Comprender la necesidad de controlar el acceso a la información almacenada por parte de usuarios no autorizados Conocer las posibilidades que puede

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

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

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

Máster Universitario en Automatización de Procesos Industriales

Máster Universitario en Automatización de Procesos Industriales DEPARTAMENTO DE ELECTRÓNICA Máster Universitario en Automatización de Procesos Industriales Departamento de Electrónica Universidad de Alcalá DEPARTAMENTO DE ELECTRÓNICA Entornos de Automatización Comerciales

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

Introducción a las Bases de Datos

Introducción a las Bases de Datos Introducción a las Bases de Datos Organización lógica de los datos Sistemas basados en archivos Concepto intuitivo de base de datos Sistemas gestores de bases de datos Definición Características y ventajas

Más detalles

Mecanismos de Recuperación

Mecanismos de Recuperación Mecanismos de Recuperación 1 Índice Aspectos generales sobre recuperación Tipos de fallos Fallos con pérdida de memoria volátil Actualización inmediata Actualización diferida Fallos con pérdida de memoria

Más detalles

Partes de una computadora. Conceptos Generales. Elementos de Computación (CU) Computación (TIG) El Hardware de una computadora

Partes de una computadora. Conceptos Generales. Elementos de Computación (CU) Computación (TIG) El Hardware de una computadora Elementos de Computación (CU) Computación (TIG) Unidad 3 Organización Básica de la Computadora Conceptos Generales Sistema Digital: Es un sistema en el cual la información se representa por medio de variables

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

Actividad 1.2. Cuestionario sobre SGBD (2ª parte)

Actividad 1.2. Cuestionario sobre SGBD (2ª parte) Actividad 1.2. Cuestionario sobre SGBD (2ª parte) 1.Indica las diferencias existentes entre las funciones de manipulación y de descripción. Función de descripción o de definición: Esta función debe permitir

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

BASE DE DATOS DISTRIBUIDOS

BASE DE DATOS DISTRIBUIDOS 1 BASE DE DATOS DISTRIBUIDOS Contenido: Base de Datos Distribuidos 1.1. Introducción 1.1.1 Almacenamiento Distribuido 1.2. Sistemas de gestión de bases de datos distribuidos 1.2.1 Funciones y Arquitectura

Más detalles

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM UNIDAD II Metodología de programación paralela UNIDAD II: Metodología de programación paralela Metodología de programación paralela Algunos conceptos que nos ayudarán a entender mejor el tema. Modelos

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

Autoservicio GIDA - Guía de Autoservicio de Contraseña

Autoservicio GIDA - Guía de Autoservicio de Contraseña CORPORACIÓN RTVE DIRECCIÓN DE SISTEMAS DE INFORMACIÓN Y GESTIÓN (SEGURIDAD INFORMÁTICA) Autoservicio GIDA - Guía de Autoservicio de Contraseña Procedimiento Código: Área/Unidad: Seguridad Informática Fecha:

Más detalles

UNIVERSIDAD NACIONAL DEL SUR 1 BAHIA BLANCA DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACION

UNIVERSIDAD NACIONAL DEL SUR 1 BAHIA BLANCA DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACION UNIVERSIDAD NACIONAL DEL SUR 1 CARRERAS Y PLANES Ingeniería en Sistemas de Computación Plan 2007 Ingeniería en Computación Plan 2011 PROFESOR RESPONSABLE Lic. María Mercedes VITTURINI Profesor Adjunto

Más detalles

Para obtener más información sobre esta función, haga clic en un tema:

Para obtener más información sobre esta función, haga clic en un tema: Cuando envíe un trabajo a la impresora, puede especificar en el controlador que desea que la impresora retenga el trabajo en la memoria. Cuando esté preparado para imprimir el trabajo, debe ir a la impresora

Más detalles

Tipos de errores en Visual Basic: de compilación, de ejecución, de sintaxis. Depuración. (CU00352A)

Tipos de errores en Visual Basic: de compilación, de ejecución, de sintaxis. Depuración. (CU00352A) aprenderaprogramar.com Tipos de errores en Visual Basic: de compilación, de ejecución, de sintaxis. Depuración. (CU00352A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor:

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

Diseño de Bases de Datos

Diseño de Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es www.lsi.us.es E.T.S. Ingeniería Informática Diseño de Bases de Datos Sevilla,

Más detalles

GUÍA RÁPIDA DE USUARIO

GUÍA RÁPIDA DE USUARIO MACROPROCESO GESTIÓN FINANCIERA PROCESO ADMINISTRACIÓN DE RECURSOS FINANCIEROS GUÍA RÁPIDA DE USUARIO REVISADO POR Líder Funcional APROBADO POR Jefe Oficina Apoyo Financiero Aviso Legal: La información

Más detalles

Infor LN Ventas - Guía del usuario para Control de márgenes

Infor LN Ventas - Guía del usuario para Control de márgenes Infor LN Ventas - Guía del usuario para Control de márgenes Información acerca de la publicación Código de documento Versión Creado el salesmcug (U9842) 10.4.x Cloud Edition (10.4.1) 17 marzo 2016 Índice

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

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

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO SÍLABO ASIGNATURA: SISTEMAS OPERATIVOS CODIGO: 8E0003 I. DATOS GENERALES: 1.1 Departamento Académico : Ingeniería Electrónica e Informática 1.2 Escuela Profesional : Ingeniería Informática 1.3 Ciclo de

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

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

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN CUESTIONES A TRATAR: Existe un tipo único tipo de memoria en un determinado computador? Todas las memorias de un computador tienen la misma función?. Qué es la memoria interna de un computador? Por qué

Más detalles

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES Tema 6. CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES TRANSACCIONES Una transacción es una unidad lógica de trabajo o procesamiento (ejecución de un programa que incluye operaciones de acceso a la base de

Más detalles

Tema 12: El sistema operativo y los procesos

Tema 12: El sistema operativo y los procesos Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx

Más detalles

F47. FICHEROS Y BASES DE DATOS < http://www3.uji.es/~mmarques/f47>

F47. FICHEROS Y BASES DE DATOS < http://www3.uji.es/~mmarques/f47> DEPARTAMENTO DE INGENIERÍA Y CIENCIA DE LOS COMPUTADORES F47. FICHEROS Y BASES DE DATOS < http://www3.uji.es/~mmarques/f47> Segundo curso. I.T.I.G. Curso 2001/2002 Segundo Cuatrimestre 7,5 Créditos (4

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 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

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz. Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz. TIPOS DE ERRORES Sintácticos. Los errores de sintaxis, o sintácticos, ocurren cuando el programador escribe código que no va de acuerdo

Más detalles

OFICINA INTERNET EMPRESAS

OFICINA INTERNET EMPRESAS OFICINA INTERNET EMPRESAS GUÍA de GESTIÓN DE USUARIOS 1 GESTIÓN DE USUARIOS: ALTAS, BAJAS, CONSULTA Y MODIFICACIÓN DE AUTORIZACIONES En Oficina Internet Empresas (OIE) de Bankia la gestión de los usuarios

Más detalles

TEORIA DE BASES DE DATOS. M. Sc. Cristina Bender Lic. Diana Gázquez

TEORIA DE BASES DE DATOS. M. Sc. Cristina Bender Lic. Diana Gázquez TEORIA DE BASES DE DATOS Docentes: Dra. Claudia Deco M. Sc. Cristina Bender Lic. Diana Gázquez OBJETIVO DE LA MATERIA Capacitar al alumno en los conocimientos fundamentales, teóricos y prácticos, necesarios

Más detalles

Bases de Datos Especializadas

Bases de Datos Especializadas Bases de Datos Especializadas 1 Sesión No.5 Nombre: Fallas y control de concurrencia en un modelo distribuido Objetivo: Al término de la sesión, el alumno explicará elementos de las bases de datos distribuidas.

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

Asignaturas antecedentes y subsecuentes

Asignaturas antecedentes y subsecuentes PROGRAMA DE ESTUDIOS Sistemas Operativos I Área a la que pertenece: Área Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0168 Asignaturas antecedentes y subsecuentes PRESENTACIÓN

Más detalles

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 5: Subcapa de acceso al medio

Redes (IS20) Ingeniería Técnica en Informática de Sistemas.  CAPÍTULO 5: Subcapa de acceso al medio Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es CAPÍTULO 5: Subcapa de acceso al medio ÍNDICE Curso 2002-2003 - Redes (IS20) -Capítulo 5 1 Tipos de redes: de difusión y

Más detalles

Arquitecturas de los Sistemas de Bases de Datos

Arquitecturas de los Sistemas de Bases de Datos Arquitecturas de los Sistemas de Bases de Datos Marta Zorrilla -Universidad de Cantabria- Marta Zorrilla - UC 1 Paradigmas Arquitecturales en BD Arquitectura Centralizada: los datos y las aplicaciones

Más detalles

Manual de instalación AutoFirma 1.4.2

Manual de instalación AutoFirma 1.4.2 Manual de instalación AutoFirma 1.4.2 Fecha: 31/05/2016 Versión: 1.0 Índice 1. Introducción... 2 2. Requisitos mínimos... 3 2.1. Sistema Operativo... 3 2.2. Navegadores Web... 3 3. Enlaces de descarga...

Más detalles

MANUAL DE USUARIO SAP R/3 CONTABILIZACIONES DE CUENTAS DE MAYOR

MANUAL DE USUARIO SAP R/3 CONTABILIZACIONES DE CUENTAS DE MAYOR MANUAL DE USUARIO SAP R/3 CONTABILIZACIONES DE CUENTAS DE MAYOR Creación de un Documento Contable Objetivo: Introducir los datos necesarios para contabilizar un documento con cuentas de mayor. Descripción

Más detalles

Prueba, caso de prueba, defecto, falla, error, verificación, validación.

Prueba, caso de prueba, defecto, falla, error, verificación, validación. Modelos de Prueba Prueba, caso de prueba, defecto, falla, error, verificación, validación. Prueba: Las Pruebas son básicamente un conjunto de actividades dentro del desarrollo de software, es una investigación

Más detalles

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria Sistemas operativos UPCO ICAI Departamento de Electrónica y Automática 1 Hasta ahora hemos visto Relación programa-sistema operativo Gestión de memoria Reserva para la ejecución Pilas, heap, memoria de

Más detalles

Tema 2 Introducción a la Programación en C.

Tema 2 Introducción a la Programación en C. Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes

Más detalles

Teoría de grafos y optimización en redes

Teoría de grafos y optimización en redes Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,

Más detalles

SOLUCIONES. SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010

SOLUCIONES. SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010 Calificación SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010 Nombre SOLUCIONES 1 2 3 4 5 Titulación Dispone de tres horas y quince minutos para realizar

Más detalles

Sistemas Distribuidos. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Sistemas Distribuidos. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Sistemas Distribuidos Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Bases de datos distribuidas implica que una sola aplicación deberá ser capaz de trabajar en forma transparente

Más detalles

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS CONTENIDOS PROPIEDADES DE LOS CAMPOS TAMAÑO DEL CAMPO FORMATO DEL CAMPO LUGARES DECIMALES MÁSCARA DE ENTRADA TÍTULO

Más detalles

Fundamentos de Bases de Datos

Fundamentos de Bases de Datos Fundamentos de Bases de Datos Titulación: ITI Sistemas Curso: 3º, C1 Carácter: Troncal Profesor teoría y prácticas: Jesualdo Tomás Fernández Breis Despacho: 2.26 Tutorías: Lunes 9.30-14.00, Martes 16.30-20.00

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

Laboratorio de MTP-I. Curso 2008-2009 Proyecto: Sistema de reserva y gestión de vuelos Noviembre 2008

Laboratorio de MTP-I. Curso 2008-2009 Proyecto: Sistema de reserva y gestión de vuelos Noviembre 2008 Laboratorio de MTP-I. Curso 2008-2009 Proyecto: Sistema de reserva y gestión de vuelos Noviembre 2008 1 OBJETIVO El objetivo del proyecto a implementar es desarrollar un sistema informático de reserva

Más detalles

MÓDULO 6 I.V.A. / I.G.I.C.

MÓDULO 6 I.V.A. / I.G.I.C. MÓDULO 6 I.V.A. / I.G.I.C. 6.1.- MANTENIMIENTO 6.2.- ACUMULADOS DE I.V.A. / I.G.I.C. 6.3.- LIQUIDACIONES 2014 Software del Sol S. A. Queda prohibida cualquier forma de reproducción, distribución, comunicación

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

Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina

Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina Nombre del trabajo: Resumen y mapa conceptual del Capítulo

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN 1. En el SGBD Oracle. Cuál de las siguientes afirmaciones es correcta? a) Los usuarios con el rol de administrador de la base de datos son SYS,

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

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS Índice de contenido: 1. Concepto de base de datos (BD)... 3 2. Los sistemas gestores de bases de datos (SGBD)... 3 3. Arquitectura de los sistemas

Más detalles

Sistemas Operativos. Introducción. Tema 6

Sistemas Operativos. Introducción. Tema 6 Sistemas Operativos Introducción Qué es un sistema operativo? Ubicación de un sistema operativo en un computador Descripción de un sistema operativo: Funcional Estructural Realización Funciones de los

Más detalles

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA APLICACIONES

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA APLICACIONES DEXCELENCIA UNIVERSITARIA, FORTALEZA E MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA

Más detalles

Unidad I: Introducción a las estructuras de datos

Unidad I: Introducción a las estructuras de datos Unidad I: Introducción a las estructuras de datos 1.1 Tipos de datos abstractos (TDA) Los tipos de datos abstractos (TDA) encapsulan datos y funciones que trabajan con estos datos. Los datos no son visibles

Más detalles