En un sistema de base de datos, se asignan marcas de tiempo únicas a cada transacción utilizando el reloj lógico de Lamport. Sean TS(T1) y TS(T2) las marcas de tiempo de las transacciones T1 y T2 respectivamente. Además, T1 mantiene un bloqueo en el recurso R y T2 ha solicitado un bloqueo conflictivo en el mismo recurso R. El siguiente algoritmo se usa para evitar interbloqueos en la base de datos, suponiendo que una transacción cancelada se reinicia con la misma marca de tiempo.
if TS(T2) <TS(T1) then T1 is killed else T2 waits.
Suponga que cualquier transacción que no se elimine finaliza eventualmente. ¿Cuál de los siguientes es VERDADERO sobre el sistema de base de datos que utiliza el algoritmo anterior para evitar interbloqueos?
(A) El sistema de base de datos está libre de puntos muertos y de inanición.
(B) El sistema de base de datos está libre de interbloqueos, pero no de inanición.
(C) El sistema de base de datos está libre de inanición pero no de interbloqueo.
(D) El sistema de base de datos no está libre de interbloqueos ni de inanición.
Respuesta: (A)
Explicación: Dado,
si TS(T2) <TS(T1) entonces
T1 se elimina, de lo
contrario T2 espera.
- T1 mantiene un bloqueo en el recurso R
- T2 ha solicitado un bloqueo conflictivo en el mismo recurso R
De acuerdo con algo, TS (T2) <TS (T1) entonces T1 se elimina, de lo contrario, T2 esperará. Entonces, en ambos casos, no ocurrirá ni punto muerto ni inanición.
Por lo tanto, la opción A es correcta
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA