You are on page 1of 15

Sincronizacin de Relojes

Sistemas Operativos II

Relojes fsicos
O El objetivo de la sincronizacin de relojes es ordenar los

eventos en forma cronolgica para saber cundo se efectu un evento (fecha, hora, proceso a realizar y computadora que lo hizo).
Diferencias de relojes internos en una red
8:06 8:12

8:05

8:13

Sincronizacin de relojes
O Hay 2 tipos de sincronizacin del reloj: O Externa: Cuando se toma el reloj de un

dispositivo externo a la computadora.


O Interna: Se toman los relojes internos de las

computadoras con cierto margen de atraso/adelanto de los mismos.


O Problemtica de sincronizacin del tiempo: el

tiempo es relativo

Sincronizacin del Tiempo


O Se utiliza ms el trmino cronmetro que reloj

para medir el tiempo en sistemas distribuidos.


O Aun considerando un tiempo uniforme existen

problemas cuando se sincronizan cronmetros a travs de la red:


O No se puede calcular con exactitud el tiempo

que tardar una respuesta en llegar

Relojes Fsicos
O Internamente cada computadora contiene un

reloj fsico, el cual cuenta la frecuencia de las oscilaciones de un cristal para medir el tiempo a travs de una estampa o marca de tiempo.
O Cada mquina puede interpretar de forma

distinta los pulsos de reloj, aunque la diferencia puede ser prcticamente nula, despus de un tiempo se pueden ver los efectos.

Relojes lgicos
O Una forma ms sencilla de sincronizar el

tiempo de sistemas distribuidos es a travs del uso de relojes lgicos.


O Un reloj lgico es una convencin utilizada

para ponerse de acuerdo en cuestin del tiempo.


O Un

ejemplo es el UTC (Universal Time Coordinated) que se basa en relojes atmicos coordinados con el astronmico.

Sincronizacin de Relojes
O Otros ejemplos de relojes lgicos se pueden

obtener a travs de satlites artificiales como es el caso de GPS.


O El

tiempo se puede sincronizar aparentemente de forma fcil si se modifica con respecto al tiempo UTC, el detalle radica en que puede afectar la ejecucin de procesos. Cierto tipo de hardware permite modificar la frecuencia de reloj para mejor sincronizacin.

Sincronizacin de Relojes
O El ajuste de tiempo se hace de manera

gradual.
O Existen diversos algoritmos de sincronizacin

de relojes, a continuacin se detallan algunos de ellos.


O Algoritmo de Cristhian: es el ms sencillo

consiste en utilizar un servidor de reloj y medir los tiempos de latencia, dichos tiempos se consideran en el tiempo formal

Algoritmo de Cristhian
O En su versin original es poco tolerante a

fallas, se suelen utilizar varios servidores de tiempo y el cliente hace comunicacin a travs de un multicast.

Algoritmo de Berkeley
O Como medir el tiempo de retraso con exactitud es

imposible, el Algoritmo de Berkeley sugiere que se coordinen todos los relojes de los nodos en un tiempo t en especfico.

NTP
O Network Time Protocol, es el protocolo de

sincronizacin de relojes ms extendido en Internet.


O Fue

creado en 1991 y basa su funcionamiento en el anlisis estadstico de los tiempos de retardo as como en la redundancia. por el puerto 119 y se utiliza actualmente en la mayora de los SOs

O Escucha

Algoritmo de Lamport
O Fue ideado en 1978 y basa su funcionamiento

en la premisa que es prcticamente imposible sincronizar relojes fsicos.


O El funcionamiento de este algoritmo est

basado en la causalidad fsica:


O Cuando ocurren dos eventos estos ocurren

en el orden en que se observan.

Algoritmo de Lamport
O Cuando se realiza un paso de mensajes,

el evento de envo ocurre antes que la recepcin (relacin happend-before).


1 p1 a 2 b m1 3 p2 c 1 p3 e f d m2 5 4 Phy s i c al ti m e

Usos de la sincronizacin
O La sincronizacin de procesos distribuidos

tiene una infinidad de aplicaciones a continuacin se muestran los principales usos.

Gracias por su Atencin