Práctica Sincronización de Sistemas Distribuidos (Sistemas Operativos)
Ejercicio 01:
Por ej: del nodo1 al nodo2, 8->10
Ejercicio 02:
En el enfoque centralizado de la exclusión mutua al recibir un mensaje de un proceso que está liberando su acceso exclusivo a la región crítica que estaba usando, el coordinador normalmente otorga permiso al primer proceso de la cola. Idear otro algoritmo posible para que lo use el coordinador.
Rta:
Otorgar el permiso al último proceso de la cola, establecer una cola de prioridad, mas corto primero, etc.
Ejercicio 03:
También sobre el caso centralizado de la exclusión mutua supongamos que el coordinador se cae. Provocará esto
la caída del sistema ? De no ser así, en qué circunstancias pasará esto ? Existe alguna forma de evitar el problema y
lograr que el sistema sea tolerante a fallas del coordinador ?
Rta:
Se produce la caída del sistena si existen procesos que requieren recursos para su ejecución, ya que al estar caído el coordinador no tienen forma de obtener esos permisos. En cambio si todos los procesos ya tienen permiso para acceder a los recursos necesarios para continuar su ejecución entonces no hacen uso del coordinador y el sistema seguiria en funcionamiento.
Para evitar el problema y lograr tolerancia a fallas se puede elejir un nuevo coordinador con algoritmos de elección (Cap 23 pag 7).
Ejercicio 04:
El algoritmo de Ricart y Agrawala tiene el problema de que si el proceso se cayó antes de responder al requerimiento de un proceso de ingresar a una región crítica, la falta de respuesta será interpretada como denegatoria de permiso. Se sugiere que todos los requerimientos sean respondidos inmediatamente para permitir fácilmente la detección de procesos caídos. Existe alguna circunstancia en la cual incluso esto sea insuficiente ? Discuta.
Si el proceso que no responde es el que tiene la region critica al momento de caerse, se cae en una inconsistencia en los datos al reasignar el uso de la region critica a otro proceso.
Ejercicio 05:
Un sistema distribuido puede tener múltiples regiones críticas independientes. Imagínese que el proceso 0 quiere ingresar a la región crítica A y el proceso 1 quiere la región crítica B. Puede el algoritmo de Ricart Agrawala llevar a un abrazo mortal ? Explique la respuesta.
Si la region critica A en algun momento necesita usar la region critica B y viceversa, puede llegar a suceder un deadlock, ya que cuando 1 va a pedir B, no puede acceder y queda bloqueado, lo mismo con el proceso 2 y A.
Ejercicio 06:
Supongamos que dos procesos detectan la muerte del coordinador y ambos deciden enviar un mensaje de elección usando el algoritmo Bully. Qué sucede ?
Queda como organizador el de mayor numero. Si el coordinador caido vuelve a levantarse, desplaza al elegido previamente.
Ejercicio 07:
Ejercicio 08:
Ejercicio 09:
Ejercicio 10:
Ejercicio 11:
Ejercicio 12:
Ejercicio 13:
Ejercicio 14:
Ejercicio 15:
Ejercicio 16:
Ejercicio 17:
El control de concurrencia con sellos temporales asegura la serializacion? Discuta.
Si una TR se inicio despues de la actual y hace el COMMIT, la TR actual se aborta y esto es lo que garantiza el orden correcto. Osea no se mezclan de forma incorrecta las TRs.
Ejercicio 18:
Ejercicio 19:
Ejercicio 20:
Un proceso con sello temporal 50 necesita un recurso retenido por un proceso con sello temporal 100, que sucede en :
a) espera-muere b) golpea-espera
a) como el sello temporal 50 es mas viejo, el proceso con sello 100 mantiene los recursos y el mas viejo (con 50) espera. b) el proceso viejo tiene derecho de prioridad, por lo que toma el recurso del proceso joven. Se puede porque hay transacciones y lo que ocurre es que se cancela la transaccion que involucraba al proceso joven.
Ejercicio 21:
Ejercicio 22:
Como se comparan los algoritmos de manejo de la exclusion mutua, el centralizado y el distribuido (Ricart y Agrawala), respecto del problema de un unico punto de falla?
Centralizado : tiene un unico punto de falla (el coordinador). Distribuido : tiene n puntos de fallas
Ejercicio 23:
Ejercicio 24:
Ejercicio 25:
Ejercicio 26:
Ejercicio 27:
Ejercicio 28:
Cuáles de los siguiente problemas ocurre en el algoritmo de Cristian (existe un servidor de tiempo con hora WWV)
para sincronizar relojes físicos :
a)- requiere sincronización global
b)- demora de propagación de la señal en el medio
c)- imposibilidad de retroceder el reloj global
d)- todas
e)- ninguna
Rta:
Los problemas que ocurren son:
b) Demora de la propagación de la señal en el medio.
c) Imposibilidad de retroceder el reloj global.(la idea para solucionar esto, es que el reloj avance mas lento hasta alcanzar la hora correcta).
Ejercicio 29:
Cuál de los siguientes algoritmos de sincronización de relojes físicos se basa en promedios de horas respecto de
los nodos cercanos a cada nodo con hora WWV ?
a)- Algoritmo de Cristian
b)- Algoritmo de Lamport
c)- Algoritmo Berkeley
d)- todos
e)- ninguno
Rta:
Creo que ninguno. Porque:
a) El algoritmo de Cristian si bien puede promediar la hora, no lo hace en base a los nodos cercanos, sino que pregunta repetidas veces a un servidor WWV.
b) El algortimo de Lamport es solo para sincronización de relojes lógicos.
c) El algoritmo de Berkeley, puede no existir máquina WWV.
Ejercicio 30:
Ejercicio 31:
Ejercicio 32:
Ejercicio 33:
Ejercicio 34:
En el algoritmo Berkeley de sincronización de relojes físicos existe un demonio en el servidor de tiempo. Cuál es su función ? :
a)- enviar la hora a cada nodo de la red
b)- otorgar permisos para la administración de la exclusión mutua
c)- promediar las horas recibidas de todos y cada uno de los nodos
d)- realizar un promedio de las horas recibidas solo de los nodos cercanos
e)- todas
f)- ninguna
Rta:
La función del demonio de Berkeley es:
a) enviar la hora a cada nodo de la red.
c) promediar las horas recibidas de todos y cada uno de los nodos.
Ejercicio 35:
Ejercicio 36:
Ejercicio 37:
Ejercicio 38:
Ejercicio 39:
Ejercicio 40:
Ejercicio 41:
Ejercicio 42:
Ejercicio 43:
Ejercicio 44:
Ejercicio 45:
Ejercicio 46:
Ejercicio 47:
Enunciado exactamente igual al ej 28.
Rta:
Déjà vécu!
(ver ej 28)
Ejercicio 48:
Enunciado exactamente igual al ej 29.
Rta:
Déjà vécu!
(ver ej 29)
Ejercicio 49:
Ejercicio 50:
Qué sucede con dos eventos que ocurren simultáneamente (misma hora) según el algoritmo de Lamport en un
sistema distribuido ?
Rta:
Si ambos eventos no tienen nada que ver, no pasa nada, se ejecutan concurrentemente, pero si por ejemplo requieren el mismo recurso, el algoritmo de Lamport arbitrariamete podría decidir que se le otorga al de menor número de nodo.
Ejercicio 51:
Ejercicio 52:
Ejercicio 53:
Ejercicio 54:
Ejercicio 55:
Ejercicio 56:
Ejercicio 57:
Elija un algoritmo de sincronización de relojes físicos que le parezca mejor y fundamente su elección.
Rta:
Un algoritmo de sincronización bueno podria ser el de promedios, por ser sencillo, descentralizado al contrario de Cristian y Berkeley y puede no utilizar máquina WWV al contrario de "multiples fuentes externas".