Está en la página 1de 13

SINCRONIZACIÓN DE

RELOJES EN SISTEMAS
DISTRIBUIDOS
Jose Pua Figueroa
7°ISC
361711108
■ La sincronización distribuida de relojes trata de solucionar los
problemas surgidos por la necesidad de comunicar distintos
computadores que trabajan en una tarea conjunta.
■ Estos problemas ocurren debido a que cada computador posee
relojes independientes cuya arquitectura, por muy precisa que sea,
hace imposible que tenga tiempos idénticos.
■ Dicha sincronización se ha logrado mediante el estudio de diversas
técnicas y métodos (Algoritmo de Cristian, Algoritmo de Berkeley,
etcétera)
Algoritmo de Cristian
■ Usa sincronización externa e interna. Es un algoritmo centralizado en un servidor de
tiempo UTC, que manda el tiempo a un receptor de nuestro sistema que se
denominará receptor de UTC, el resto de clientes se sincronizarán con dicho
equipo.
■ Los clientes mandarán peticiones periódicas al receptor UTC pidiéndole el tiempo
UTC, y éste le responderá lo más rápido posible. Obviamente, el cliente sólo
sincroniza si el tiempo UTC de respuesta es mayor que el de la petición.
■ Problemas:
■ Si el servidor falla. Una solución sería tener más servidores.
■ No existe control sobre fraudes o malfuncionamiento por parte del servidor.
■ Escalabilidad.
Algoritmo de Berkeley
■ Sincronización interna, no dispone de señal UTC. Es un algoritmo centralizado en un
servidor maestro elegido por todas las computadoras conectadas. El servidor
periódicamente muestrea el tiempo de las computadoras y con esa información
estima un tiempo que es comunicado al resto de las máquinas para su
sincronización.
■ Problemas:
■ Si el servidor falla. Una solución sería elegir a un nuevo maestro.
■ Escalabilidad.
RELOJES LÓGICOS

■ La idea de un reloj lógico consiste en crear un sistema de convergencia del tiempo


mediante la medición de las derivas, de tal suerte que la noción de tiempo universal
se sustituye por la noción de un tiempoo global auto-ajustable.
Los relojes lógicos son útiles para ordenar eventos en ausencia de un reloj común.
■ Los relojes lógicos sólo representan una relación de orden parcial, y funcionan
mediante la alteración del conteo de tiempo para mantener la sincronización
mediante variables que afectan la hora de referencia. El reloj lógico establece un
orden total entre eventos si se añade el número del procesador, pero esto implica
pagar un precio por la comunicación y por mantener el registro la tabla de CPU's.
Tipos de relojes

■ Reloj hardware

Toda computadora ha de tener un reloj hardware.


Algunos sistemas operativos como MS-DOS, OS/2 o Windows presuponen que el reloj
de hardware muestra la hora local (MS-DOS, Windows, OS/2).
■ Existen dos tipos comunes:
Relojes enlazados con energía
Están enlazados a una línea de 110 o 220 voltios y producen una interrupción en cada
ciclo de voltaje. Son los que tienen una arquitectura y funcionamiento más simple,
antiguamente eran los que dominaban el mercado, no obstante, ahora se han visto
relegados por los relojes programables, los cuales son más precisos.
■ Relojes programables o RTCs (Reloj en tiempo real)
Es más preciso y seguro ya que suele ser alimentado por una batería, la cual asegura
el funcionamiento del reloj, aunque la computadora no tenga suministro eléctrico
durante meses e incluso años.
■ Consta de estos elementos:
■ Oscilador de cristal: Una pieza de cristal de cuarzo bien cortada y montada bajo
tensión, la cual oscila generando una señal periódica de mucha precisión.
■ Registro Contador: El contador se alimenta cada vez que oscila la señal de cuarzo,
esto provoca que el contador cuente de forma descendente hasta 0, generando en
dicho momento una interrupción de CPU.
■ Registro constante o contenedor: Se usa para cargar el registro contador.
■ Tiene dos modos de operación:
■ Una instancia (un disparo) : Cuando el reloj se inicializa el registro contador copia el
valor del registro contenedor. Se decrementa el registro contador en cada oscilación
del cristal de cuarzo hasta que llega a cero, en ese momento, genera una
interrupción y se detiene hasta que el software lo inicialice de nuevo.
■ Onda cuadrada: Comienza igual que el modo anterior, no obstante, después de
llegar a cero y generar la correspondiente interrupción, el registro contenedor se
copia de manera automática en el registro contador. Es decir, el programa se repite
en bucle.
RELOJES FISICOS.

■ Cuando utilizamos una base de tiempo Universal, se dice que utilizamos Relojes
Físicos. Son útiles en aplicaciones que se manejan eventos secuenciados a alta
velocidad, de tal suerte que no hay recursos disponibles para organizar la
sincronización; En ciertos sistemas (por ejemplo, los sistemas de tiempo real), es
importante la hora real del reloj.
■ Para estos sistemas se necesitan relojes fisicos externos. Por razones de eficiencia
y redundancia, por lo general son recomendables varios relojes fisicos, lo cual
implica dos problemas:
1.- Cómo sincronizamos los relojes con la hora exacta del mundo real?
2.- Cómo sincronizamos los relojes entre sí?
Reloj software

■ Simula el funcionamiento de un reloj normal a partir del reloj hardware del


computador.
■ El reloj hardware realmente lo único que hace es generar interrupciones a intervalos
conocidos y bien marcados de tiempo, todo lo demás que se relacione con el tiempo
en el computador debe ser realizado por el reloj software.
■ Podemos resumir de una forma muy general las funciones principales del reloj
software:
■ Contener la hora y fecha actuales, coordinada con el huso horario que indiquemos.
■ Controla el tiempo de ejecución de los procesos.
■ Mantiene un registro de uso de la CPU, se tiene noción de cuándo se inicia un
proceso y cuando se detiene, cuánto tiempo pasa detenido, si se reanuda, etcétera.
■ Proporciona cronómetros o temporizadores guardianes al sistema, también
llamados watchdogs (Perro guardián (electrónica)) .
■ Maneja y supervisa estadísticas, gracias a los registros mencionados previamente.
SINCRONIZACIÓN
■ El término sincronización se define como la forma de forzar un orden parcial o total
encualquier conjunto de eventos, y es usado para hacer referencia a tres problemas
distintos pero relacionados entre sí:

1.-La sincronización entre el emisor y el receptor.
■ 2.-La especificación y control de la actividad común entre procesos cooperativos.

3.-La serialización de accesos concurrentes a objetos compartidos por múltiples
procesos.
Jose Pua Figueroa
7°ISC
361711108
josepua20@Gmail.com
8116886336

También podría gustarte