Está en la página 1de 5

Sincronizacin: relojes fsicos, relojes

lgicos, usos de la sincronizacin.


Un sistema distribuido debe permitir el apropiado uso de los recursos, debe encargarse de un
buen desempeo y de la consistencia de los datos, adems de mantener seguras todas estas
operaciones. La sincronizacin de procesos en los sistemas distribuidos resulta ms compleja
que en los centralizados, debido a que la informacin y el procesamiento se mantienen en
diferentes nodos.
Un sistema distribuido debe mantener vistas parciales y consistentes de todos los procesos
cooperativos y de cmputo. Tales vistas pueden ser provistas por los mecanismos de
sincronizacin.
El trmino sincronizacin se define como la forma de forzar un orden parcial o total en
cualquier conjunto de eventos, y es usado para hacer referencia a tres problemas distintos
pero relacionados entre s:
1.
La sincronizacin entre el emisor y el receptor.
2.
La especificacin y control de la actividad comn entre procesos cooperativos.
3.
La serializacin de accesos concurrentes a objetos compartidos por mltiples
procesos.
Haciendo referencia a los mtodos utilizados en un sistema centralizado, el cual hace uso de
semforos y monitores; en un sistema distribuido se utilizan algoritmos distribuidos para
sincronizar el trabajo comn entre los procesos y estos algoritmos.

Relojes fisicos
Los relojes fsicos son relojes que: Deben ser iguales (estar sincronizados).
No deben desviarse del tiempo real ms all de cierta magnitud.
En ciertos sistemas es importante la hora real del reloj:

Se precisan relojes fsicos externos (ms de uno).


Se deben sincronizar: Con los relojes del mundo real.

Cuando utilizamos una base de tiempo Universal, se dice que utilizamos Relojes Fsicos. Son tiles
en aplicaciones que se manejan eventos secuenciados a alta velocidad, de tal suerte que no hay
recursos disponibles para organizar la sincronizacin; 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.- Cmo sincronizamos los relojes con la hora exacta del mundo real?
2.- Cmo sincronizamos los relojes entre s?
Los relojes fsicos deben ser iguales (estar sincronizados), no deben desviarse del tiempo real ms
all de cierta magnitud. Debido a la distorsin del tiempo y las derivas en los relojes de los distintos

CPU's, en ciertos sistemas es importante la hora real del reloj, por lo que se precisan relojes fsicos
externos (ms de uno) y se deben sincronizar con los relojes del mundo real.

Relojes logicos
El software del reloj lgico
El software para el reloj toma generalmente la forma de unmanejador de dispositivo, aunque
no es un dispositivo de bloque.
La principales funciones del software manejador del reloj son:

Mantener la hora del da o tiempo real


Evitar que los procesos se ejecuten durante ms tiempo del permitido.

La idea de un reloj lgico consiste en crear un sistema de convergencia del tiempo mediante la
medicin de las derivas, de tal suerte que la nocin de tiempo universal se sustituye por la nocin
de un tiempoo global auto-ajustable.
Los relojes lgicos son tiles para ordenar eventos en ausencia de un reloj comn. Cada
proceso P mantiene una variable entera LCP (su reloj lgico), cuando un proceso P genera un
evento, LCP = LCP +1, entonces cuando un proceso enva un mensaje incluye el valor de su reloj;
si otro proceso Q recibe un mensaje, ste debe revisar su reloj lgico para determinar si existe
secuencialidad con el mensaje en turno o su puede trabajar en concurrencia. Los relojes lgicos
slo representan una relacin de orden parcial, y funcionan mediante la alteracin del conteo de
tiempo para mantener la sincronizacin mediante variables que afectan la hora de referencia. El
reloj lgico establece un orden total entre eventos si se aade el nmero del procesador, pero esto
implica pagar un precio por la comunicacin y por mantener el registro la tabla de CPU's.

Actualmente se encuentran disponibles muchos servicios de sincronizacin atrevez de "la nube"

SINCRONIZACIN DE LOS SISTEMAS


DISTRIBUIDOS
1.
a.

Algoritmos para la Sincronizacin de Relojes

La sincronizacin de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en
forma cronolgica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto
existen varios mtodos o algoritmos que se programan dentro del sistema operativo, entre los cuales
tenemos:
i.
Este algoritmo est basado en el uso del tiempo coordenado universal (siglas en ingls, UTC), el cual es
recibido por un equipo dentro del sistema distribuido. Este equipo, denominado receptor de UTC, recibe a
su vez solicitudes peridicas del tiempo del resto de mquinas del sistema a cada uno de los cuales les
enva una respuesta en el menor plazo posible informando el tiempo UTC solicitado, con lo cual todas las
mquinas del sistema actualicen su hora y se mantenga as sincronizado todo el sistema. El receptor de
UTC recibe el tiempo a travs de diversos medios disponibles, entre los cuales se menciona
las ondas de radio, Internet, entre otros.
Un gran problema en este algoritmo es que el tiempo no puede correr hacia atrs:
o
El tiempo del receptor UTC no puede ser menor que el tiempo de la mquina que le solicit el tiempo.
o
El servidor de UTC debe procesar las solicitudes de tiempo con el concepto de interrupciones, lo cual
incide en el tiempo de atencin.
o
El intervalo de transmisin de la solicitud y su respuesta debe ser tomado en cuenta para la
sincronizacin. El tiempo de propagacin se suma al tiempo del servidor para sincronizar al
emisor cuando ste recibe la respuesta.
ii.
Algoritmo de 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 sincronizacin del tiempo en el
sistema, tambin existe un servidor de tiempo que, a diferencia del algoritmo de Cristian, se comporta de
manera activa. Este servidor realiza un muestreo peridico del tiempo que poseen algunas de las
mquinas del sistema, con lo cual calcula un tiempo promedio, el cual es enviado a todas las mquinas
del sistema a fin de sincronizarlo.
iii.

Algoritmo de Berkeley

i.
ii.

Algoritmo con Promedio


Este algoritmo no dispone de un servidor que controle, centralice y mantenga la sincronizacin del tiempo en
el sistema. A diferencia de ello, cada mquina del sistema informa su hora local con cada mensaje que
requiera enviar a otra mquina o mquinas del sistema. A partir de ese momento, cada mquina inicializa
localmente un cronmetro, cuya duracin es de intervalo y longitud fija. A partir de ese momento, cada
mquina promedia su hora local con el uso de las horas que le informan el resto de las mquinas que
interactan con ella.

a.

Algoritmos para la Exclusin Mutua

Estos algoritmos estn definidos para asegurar el cumplimiento de exclusin mutua entre procesos que
requieren acceder a una regin crtica del sistema.
i.
Este algoritmo simula la filosofa de operacin de exclusin mutua utilizada
en sistemas monoprocesadores. Para ello, existe una mquina en el sistema distribuido que se encarga
de controlar el acceso a las diferentes secciones crticas, la cual es denominada coordinador.
Cada proceso del sistema que requiera acceso a una seccin crtica, debe solicitar acceso al coordinador,
el cual lo otorgar en caso que la seccin crtica est disponible; caso contrario, colocar en una cola de
espera al proceso solicitante. Cuando un proceso que recibi acceso a la seccin crtica culmina su tarea,
informa por igual al coordinador a fin de que ste pueda otorgar acceso a un prximo proceso solicitante o
que se encuentre en cola de espera.
Este algoritmo presenta una gran limitante, consistente en que el coordinador representa un nico punto
de control para el acceso a las diferentes secciones crticas del sistema distribuido, lo cual se convierte en
un cuello de botella que puede afectar la eficiencia de los procesos que se ejecutan en el sistema.
Igualmente, cualquier falla que presente el coordinador ocasionar la paralizacin de los procesos.
ii.
Centralizado
iii.
Distribuido

Este algoritmo fue desarrollado a fin de eliminar el problema latente en el algoritmo centralizado. Por lo tanto,
su enfoque est basado en no disponer de un nico coordinador para el control de acceso a las secciones
crticas del sistema distribuido.
En este sentido, cada proceso que requiere acceso a una seccin crtica, enva su solicitud a todos los
procesos existentes en el sistema, identificndose as mismo y a la seccin crtica que desea acceder. Cada
proceso receptor enva su respuesta al proceso solicitante, indicando una de las siguientes posibles
respuestas:
Seccin crtica no en uso por el proceso receptor. Mensaje de respuesta: OK.
Seccin crtica en uso por el proceso receptor. Mensaje de respuesta: no aplica, coloca al proceso emisor en
cola de espera.
Seccin crtica no en uso pero solicitada por el proceso receptor.
Mensaje de respuesta: OK, si la solicitud es anterior a la del receptor.
Mensaje de respuesta: No aplica, si la solicitud es posterior a la del receptor, coloca al proceso de emisor en
cola de espera.
Sin embargo, este algoritmo tambin contiene un problema, consistente en que si un proceso presenta una
falla no podr enviar su respuesta ante la solicitud de un proceso emisor, por lo cual esto ser interpretado
como una negacin de acceso, bloqueando a todos los procesos que soliciten acceso a cualquier seccin
crtica.
i.
Este algoritmo establece un anillo lgico de procesos, controlado por software, a travs del cual se hace
circular una ficha o testigo (token) entre cada proceso. Cuando un proceso recibe la ficha, puede entrar a
una seccin crtica si lo requiere, procesar todas sus tareas, abandonar la seccin crtica y entregar la
ficha al prximo proceso del anillo. Este proceso se repite continuamente en el anillo de procesos.
Cuando un proceso recibe la ficha y no requiere entrar a una seccin crtica, pasa la ficha inmediatamente
al siguiente proceso.
Este algoritmo contiene una debilidad, asociada a la posible prdida de la ficha de control para el acceso
a las secciones crticas. Si esto ocurre, los procesos del sistema asumirn que la ficha est en uso por
algn proceso que se encuentra en la seccin crtica.
ii.
De Anillo de Fichas (Token Ring)
Estos algoritmos estn diseados para elegir un proceso coordinador. En los mismos, se garantiza que
una vez realizada la eleccin del proceso coordinador, la misma concluya con el acuerdo de todos los
procesos el sistema en la eleccin de un nuevo coordinador.

iii.
iv.

De Eleccin
Del Granduln (Garca Molina)
Este algoritmo se inicia cuando un proceso cualquiera determina que no hay respuesta a las solicitudes
hechas al proceso coordinador. En este momento, este proceso enva a todos los procesos mayores que l un
mensaje de eleccin del nuevo coordinador, lo cual puede conllevar a los siguientes escenarios:
Un proceso, con un nmero mayor que el proceso emisor del mensaje, responda OK, con lo cual queda
elegido como coordinador del sistema.
Ningn proceso responde el mensaje de eleccin, con lo cual el proceso emisor queda electo como proceso
coordinador.

i.

De Anillo
Este algoritmo opera de manera similar al algoritmo del Granduln, con la diferencia que en este mtodo se
presenta las siguientes variantes:
El mensaje de eleccin se hace circular a todos los procesos del sistema, y no solo a los procesos mayores
que el emisor.
Cada proceso inscribe en el mensaje su identificacin.
Una vez que el mensaje completa el anillo y regresa a proceso emisor, quien establece como nuevo
coordinador al proceso con el nmero mayor.
Se hace circular a travs del anillo un nuevo mensaje indicando quin es el coordinador del sistema.
a. Transacciones Atmicas
Es un mtodo de sincronizacin a alto nivel, que a diferencia de los mtodos revisados hasta el momento, no
ocupa al programador en los aspectos de exclusin mutua, prevencin de bloqueos y recuperacin ante fallos.
Por el contrario, este mtodo orienta el esfuerzo del programador a los verdaderos problemas y esencia de la
sincronizacin de sistemas distribuidos.
El concepto de transacciones atmicas consiste en garantizar que todos los procesos que conforman una
transaccin deben ejecutarse en forma completa y satisfactoria. De producirse falla en alguno de los
procesos, toda la transaccin falla, revirtindose la misma y procedindose a su reinicio.

Leer ms: http://www.monografias.com/trabajos55/sincronizacion-sistemas-distribuidos/sincronizacionsistemas-distribuidos2.shtml#ixzz3Icgha1Uk


Leer ms: http://www.monografias.com/trabajos55/sincronizacion-sistemas-distribuidos/sincronizacionsistemas-distribuidos.shtml#ixzz3IcgRDgmn