3. Introduccion
En el ámbito de la administración de bases de datos, los
algoritmos de planificación de transacciones, control de
concurrencia y recuperación de datos desempeñan un papel
fundamental para garantizar la integridad y consistencia de
los datos en entornos de múltiples usuarios y transacciones
concurrentes. En este trabajo, nos centraremos en la
investigación y presentación de un algoritmo específico
asignado a cada grupo, con el objetivo de comprender sus
características, funciones principales y proporcionar ejemplos
ilustrativos.
6. ● El "bloqueo en 2 fases" se refiere a una técnica utilizada para garantizar la integridad de los
datos y evitar conflictos en un entorno de concurrencia, donde múltiples transacciones
pueden acceder y modificar simultáneamente la misma base de datos.
● El bloqueo en 2 fases en las bases de datos se utiliza para evitar problemas y mantener la
integridad de los datos. Consiste en que las transacciones adquieran los bloqueos necesarios
antes de operar con los datos y los liberen una vez que hayan terminado. Esto previene
situaciones donde varios procesos intentan leer o modificar los mismos datos
simultáneamente, lo que podría causar inconsistencias o resultados incorrectos.
7. En un sistema de bloqueo en 2 fases, una transacción se divide en
dos fases distintas:
● Fase de adquisición de bloqueo: Durante esta fase, la transacción solicita y
adquiere los bloqueos necesarios en los elementos de datos (como registros,
tablas o páginas) que va a utilizar o modificar. Los bloqueos pueden ser de
diferentes tipos, como bloqueos de lectura y bloqueos de escritura. Estos
bloqueos se adquieren antes de que la transacción realice cualquier operación
en los datos.
8. En un sistema de bloqueo en 2 fases, una transacción se divide en
dos fases distintas:
● Fase de liberación de bloqueo: Una vez que la transacción ha completado su
trabajo y no necesita más los recursos bloqueados, se liberan los bloqueos
adquiridos. Esto permite que otros procesos o transacciones puedan acceder a
los datos sin restricciones.
10. Ventajas
● Integridad de los datos: El bloqueo en 2 fases garantiza que las transacciones
adquieran los bloqueos necesarios antes de realizar cualquier operación en los
datos.
● Evita la lectura sucia: Al adquirir bloqueos de lectura exclusivos, se previene la
lectura de datos que aún no han sido confirmados o que están en proceso de
modificación por otra transacción.
● Evita la escritura sucia: Al adquirir bloqueos de escritura exclusivos, se evita
que múltiples transacciones modifiquen los mismos datos simultáneamente.
11. Ventajas
● Control de concurrencia: El bloqueo en 2 fases es un mecanismo de control de
concurrencia efectivo para evitar problemas de acceso y modificación
simultánea de datos.
● Simplicidad y compatibilidad: El bloqueo en 2 fases es una técnica
ampliamente utilizada y compatible con la mayoría de los sistemas de bases de
datos.
13. Desventajas
● Bloqueos y rendimiento: El uso extensivo de bloqueos en 2 fases puede afectar
el rendimiento de un sistema de bases de datos, especialmente en entornos de
alta concurrencia.
● Bloqueos conflictivos: Si múltiples transacciones solicitan bloqueos exclusivos
sobre los mismos datos, pueden producirse situaciones de bloqueo mutuo
donde ninguna de las transacciones puede avanzar debido a la espera del
bloqueo del otro.
● Disminución de la concurrencia: El bloqueo en 2 fases puede limitar la
concurrencia en un sistema de bases de datos, ya que solo una transacción
puede adquirir un bloqueo exclusivo en un recurso de datos en un momento
dado.
14. Desventajas
● Sensibilidad a las implementaciones: La efectividad del bloqueo en 2 fases
puede variar dependiendo de la implementación y configuración específicas
del sistema de bases de datos.
● Complejidad de programación: El manejo adecuado de los bloqueos en 2 fases
puede requerir una lógica de programación adicional y más compleja.
15. Requerimientos del Proyecto #1
Investigar sobre las características
del algoritmo
Función principal del mismo
A B
Describir el algoritmo Plantear/presentar ejemplos del
algoritmo
C D
17. Características del algoritmo
● Asignación inicial: En esta fase se realiza una asignación inicial de los recursos a
los procesos basada en un orden predefinido o en las solicitudes previas de los
procesos.
● Análisis de interbloqueo potencial: Se realiza un análisis exhaustivo del sistema
para identificar posibles situaciones de interbloqueo.
● Búsqueda de recursos: Si un proceso solicita un recurso que no está disponible,
este se bloquea hasta que se libere el recurso deseado.
● Asignación segura: Se garantiza que los recursos asignados a los procesos no
generen un estado de interbloqueo.
18. Función principal
● Establecer un orden de asignación de los recursos: La fase conservadora
determina un orden total o parcial de los recursos del sistema para su
asignación segura.
● Identificar situaciones de interbloqueo potencial: Analiza el estado actual del
sistema y busca posibles interbloqueos antes de realizar asignaciones.
● Prevenir interbloqueos: A través de una asignación segura de los recursos, evita
que se produzcan situaciones de interbloqueo entre los procesos.
19. Ejemplo
Supongamos un sistema con tres procesos
(A, B y C) y tres recursos (R1, R2 y R3).
Durante la fase conservadora, se puede
establecer un orden de asignación de los
recursos como sigue:
20. Ejemplo
● Orden de asignación: R1 < R2 < R3
● En este caso, se garantiza que los recursos se asignen en ese orden específico.
Por ejemplo, si el proceso A solicita el recurso R2, y este no está disponible, el
proceso A se bloqueará hasta que el recurso R2 esté libre.
● Además, durante esta fase, se analiza el estado del sistema para identificar
posibles interbloqueos. Por ejemplo, si el proceso A tiene asignado el recurso R1
y solicita el recurso R3, pero el proceso B ya tiene asignado el recurso R3 y
solicita el recurso R1, se identificará una situación de interbloqueo potencial y
se tomarán las medidas necesarias para prevenirlo.
23. Características del algoritmo
● Garantía de seguridad: La fase "Estricto" asegura que no se produzcan
condiciones de carrera ni interferencias entre los procesos que acceden a los
recursos compartidos.
● Cumplimiento de reglas: Se aplican reglas estrictas para el acceso a los
recursos, evitando conflictos y violaciones de integridad.
● Prioridad de acceso: Puede establecerse un orden de prioridad para acceder a
los recursos compartidos, lo que puede evitar inanición o bloqueos indefinidos.
● Coordinación entre procesos: Los procesos deben comunicarse y cooperar para
garantizar el acceso seguro a los recursos compartidos.
24. Función principal
● Verificación de bloqueos: Se revisan los bloqueos actuales en los recursos
compartidos para determinar si es posible el acceso.
● Espera activa: Si un proceso encuentra un bloqueo en un recurso, en lugar de
esperar pasivamente, realiza comprobaciones periódicas para ver si el recurso
se libera.
● Prioridad de acceso: Se establece un mecanismo para determinar qué proceso
tiene prioridad cuando múltiples procesos solicitan acceso a un recurso
simultáneamente.
25. En una base de datos, varios procesos
pueden solicitar acceso de escritura a una
tabla al mismo tiempo. Durante la fase
"Estricto", cada proceso verifica si la tabla
está bloqueada por otro proceso para
escritura. Si es así, el proceso debe esperar
activamente y verificar periódicamente si la
tabla se libera antes de obtener el bloqueo y
realizar la escritura.
Ejemplo
26. En un sistema operativo, múltiples procesos
pueden intentar acceder a un recurso
compartido, como una impresora. Durante
la fase "Estricto", cada proceso comprueba si
la impresora está bloqueada por otro
proceso. Si es así, el proceso debe esperar
activamente y verificar periódicamente si la
impresora se libera antes de obtener el
bloqueo y realizar la impresión
Ejemplo
29. Características del algoritmo
● Detección de interbloqueo: Durante esta fase, se analiza el estado del sistema para
identificar la presencia de interbloqueo. El objetivo es determinar si existen ciclos en el grafo
de asignación de recursos, lo que indicaría la existencia de un interbloqueo.
● Evaluación de ciclos: Si se detecta un ciclo en el grafo de asignación de recursos, se evalúa
su naturaleza para determinar si realmente es un interbloqueo o simplemente una
asignación circular de recursos. Para ello, se utilizan técnicas como el algoritmo del
banquero, que comprueba si es posible alcanzar un estado seguro a partir de la asignación
actual.
● Resolución del interbloqueo: Si se confirma la existencia de un interbloqueo, se procede a su
resolución. Esto implica tomar acciones para romper el ciclo y permitir que los procesos
continúen su ejecución. Algunas estrategias comunes incluyen la liberación de recursos, la
terminación de procesos o la reasignación de recursos.
30. Función principal
● La fase Riguroso del algoritmo de bloqueo en 2 fases tiene como función
principal detectar la presencia de interbloqueo en un sistema y tomar medidas
para resolverlo. Su objetivo es garantizar que los procesos puedan avanzar sin
quedarse bloqueados debido a la competencia por los recursos compartidos.
31. Un ejemplo de aplicación de este algoritmo
es en un sistema operativo donde múltiples
procesos necesitan acceder a una impresora
compartida. Si varios procesos bloquean los
recursos necesarios para completar su
ejecución y no se toman medidas para
resolver el interbloqueo, el sistema puede
quedar paralizado. La fase Riguroso del
algoritmo de bloqueo en 2 fases ayuda a
identificar y resolver este tipo de situaciones.
Ejemplo
33. -Nikola Tesla
“«En realidad no me preocupa que
quieran robar mis ideas, me
preocupa que ellos no las tengan».”
34. Conclusion
En conclusión, los algoritmos de planificación de
transacciones, control de concurrencia y recuperación de
datos son elementos esenciales en la administración de
bases de datos, especialmente en entornos donde múltiples
usuarios realizan transacciones concurrentes. En este
trabajo, hemos investigado y presentado diferentes
algoritmos de control de concurrencia, destacando su
función principal, características y proporcionando ejemplos
ilustrativos.
35. CREDITS: This presentation template was created by Slidesgo, and
includes icons by Flaticon and infographics & images by Freepik
Gracias