Sunteți pe pagina 1din 4

Sistemas Operativos Distribuidos

Ejercicios de sincronización distribuida


Ejercicio 1. Considere los procesos P1, P2 y P3 que ejecutan en un sistema distribuido. Estos
procesos generan los eventos marcados en la siguiente figura.

P1
a b c d
e f
P2

g h i
P3

Se pide:
a) Extraer las relaciones de causalidad potencial de Lamport entre los eventos
mostrados en la figura.
a->b b||e e->f
a->c t b||f e||g
a->d t b||g e||h
a->e b||i e||i
a->f t c->d f->c
a||f c||e f->d t
a||g c||g f||g
a||h c||h f||h
a||i c||i f||i
b->c d->i g->h
b->d t d||e g->i t
b ->h d||f h->i
d||g
d||h
b) Indique tres parejas de eventos que sean concurrentes ¿Por qué son
concurrentes?
e||g
e||h
e||i
Son concurrentes porque no están enlazados por una line de proceso

c) Usando los relojes lógicos de Lamport, indique las marcas de tiempo para los
eventos de los procesos anteriores.
[1] [2] [4] [5]
[0]
[2] [3]
[0]
[0] [1] [3] [6]

d) Usando relojes vectoriales, defina las marcas de tiempo para los eventos de los
procesos anteriores.
[1,0,0] [2,0,0] [3,2,0] [4,2,0]

[1,1,0] [1,2,0]
[0,0,1] [2,0,2] [4,2,3]

Ejercicio 2. Indique en el siguiente diagrama, el valor de los relojes vectoriales para cada
uno de los eventos de los procesos P1, P2 y P3.

a b c d e
P1

f g h
P2

i j k l n
P3

a 1,0,0 b 2,1,0
c 3,0,2 d 4,0,2
e 5,0,2 f 0,1,0
g 0,2,3 h 4,3,3
i 1,0,1 j 1,0,2
k 1,0,3 l 1,0,4
n 5,0,5
Ejercicio 3. Supongamos que tenemos 5 máquinas y una de ellas es el demonio de tiempo.
Las máquinas tienen los siguientes tiempos (en este caso manejaremos el tiempo en
minutos):
Tiempo de demonio

A) 10:32

10:32 Network 10:32


10:32 10:32

10:44 11:15 10:10 10:29

Se le pide
B) Las maquinas responden al coordinador o tiempo de demonio.

+6 Tiempo de demonio

A) 10:32

+43 Network -22


+12 -3

10:44 11:15 10:10 10:29

C) El coordinador o demonio de tiempo les dice a los demás como ajustar su reloj
Tiempo de demonio

A) 10:38

-37 Network +28


-6 +9

10:38 11:38 10:38 10:38


Describe cual es la diferencia entre el algoritmo Lamport, algoritmo Cristian y algoritmo
Berkeley.

Algoritmo cristian:
Un sistema distribuido basado en el algoritmo de Berkeley no dispone del
tiempo coordenado universal (UTC); en lugar de ello, el sistema maneja su
propia hora. Para realizar la sincronización del tiempo en el sistema, también
existe un servidor de tiempo que, a diferencia del algoritmo de Cristian, se
comporta de manera activa. Este servidor realiza un muestreo periódico del
tiempo que poseen algunas de las máquinas del sistema, con lo cual calcula un
tiempo promedio, el cual es enviado a todas las máquinas del sistema a fin de
sincronizarlo.
Algoritmo Berkeley:
Está pensado para entornos en los que no se dispone de ningún receptor de
tiempo UTC, y lo único que se pretende es que todos los ordenadores se
mantengan sincronizados con una misma hora.
En este algoritmo, entre todos los equipos del sistema distribuido eligen un
coordinador para que actué como maestro o servidor del tiempo
Algoritmo lamport:
Lamport señaló que la sincronización de relojes no tiene que ser absoluta.
Si 2 procesos no interactúan no es necesario que sus relojes estén
sincronizados.
Generalmente lo importante no es que los procesos estén de acuerdo en la
hora, pero sí importa que coincidan en el orden en que ocurren los eventos.

Conclusión personal.

S-ar putea să vă placă și