Está en la página 1de 20

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO

Maestra: M.T.I Ángela Pérez Florentino

Materia: Sistemas operativos II

Unidad: 2

Trabajo: Exposición

Integrantes

Alexis Tiburcio Juarez Guzmán


Luis Alfredo Barrera Martinez
Martha Itzel González García

Tema: 3.1 sincronizadas de relojes

Grupo: 401

Carrera: Ingeniería en Informática

Fecha: 24_Febrero_2020
Algoritmo de Lamport

 Un reloj lógico es un contador monotónicamente


creciente, cuyo valor absoluto no es importante.
 Cada proceso pi tiene su propio reloj lógico Li
que usa para ponerle el timestamp a los
eventos.
 Llamemos el timestamp del evento e en pi Li(e)
y llamamos L(e) si no nos importa qué proceso
le dio el valor.
Algoritmo de Lamport
 Cada proceso pi incrementa en uno su reloj Li cada vez
que ocurre un evento
 Cuando un proceso manda un evento, le incluye el
valor t = Li en el mensaje (m,t)
 Cuando un proceso pj recibe un mensaje ajusta su reloj
con el valor Lj = max(Lj, t) y luego suma 1 para reflejar
el evento de recibo de mensaje
 Con esto se puede ordenar relativamente bien las
cadenas de eventos
1 2
p1
3 4
p2

p3 1 5
3.1 Sincronización de relojes

La sincronización es mas compleja en los sistemas distribuidos que los


centralizados puesto que los primeros deben utilizar algoritmos
distribuidos.

 La información relevante se distribuye entre varias maquinas.


 Los procesos toman las decisiones solo con base en la información
disponible en forma local.
 Debe evitarse un punto de fallo e el sistema .
 No existe un reloj común o alguna otra fuente precisa del tiempo global.
Los primeros tres puntos indican que es inaceptable reunir toda la información en un
lugar para su procesamiento.
Ejemplo
Para llevar a cabo la asignación de recursos(asignar los dispositivos de e/s en una forma
libre de bloques), por lo general no es aceptable enviar todas las solicitudes a un
administrador de procesos, el cual examina a todos y otorga o niega las solicitudes a un
administrador de procesos, el cual examina a todos y otorga o niega las solicitudes con
base en la información de sus tablas.
En u n sistema de gran tamaño tal solución pone en predicamentos a dicho proceso.
3.1.1 Relojes lógicos
Casi todas las computadoras tienen un circuito para el registro dl
tiempo. A pesar del uso generalizado de la palabra “reloj” para hacer
referencia a dichos dispositivo, en realidad no son relojes en el
sentido usual.

Cronometro
Un cronometro de computadora es por lo general un cristal de cuarzo
trabajado con precisión. Cuando se mantiene sujeto a tensión, un
cristal de cuarzo oscila con frecuencia bien definida, que depende del
tipo de cristal, la forma en que se corte y la magnitud de la tensión.
Cuando se arranca por vez primera el sistema, por lo general
se pide al operador que escriba la fecha y la hora, las cuales
se convierten al numero de marcas después de cierta fecha
conocida y se guardan en la memoria

En la practica, cuando un sistema tiene n computadoras, los n


cristales correspondientes oscilaran a tasas un poco distintas,
lo que provoca un a perdida de sincronía en los relojes (de
software) y que al leerlos tengan valores distintos.
Los procesos se ejecutan en diferentes maquinas, cada una con su propio
reloj y velocidad. Como se puede ver en la figura, cuando el reloj marca 6
en el proceso 0, ha marcado 8 en el proceso 1 y 10 en el proceso 2.
Cada reloj corre a una razón constante, solo que las razones son
diferentes debido a las diferencias en los cristales.
3.1.2 Relojes Físicos

 Aun que el algoritmo de Lamport


proporciona un orden de eventos sin
ambigüedades, los valores de tiempo
asignados a los eventos no tienen que ser
cercanos a los tiempos reales en lo que
ocurren.
 En ciertos sistemas (por ejemplo, Los
sistemas de tiempo real), es importante la
hora real del reloj.
 Para estos sistemas se necesitan relojes
físicos externos.
Los relojes físicos deben ser iguales (estar sincronizados), no
deben desviarse del tiempo real más allá de cierta magnitud.
Debido a la distorsión 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 físicos externos (más de uno)
y se deben sincronizar con los relojes del mundo real.
3.1.3 Algoritmos para la
sincronización de Relojes.

 Si una maquina tiene un receptor WWV, entonces el objetivo


es hacer que todas las maquinas se sincronicen con ella. Si
ninguna maquina tiene receptores WWV, entonces cada
maquina lleva el registro de su propio tiempo y el objetivo es
mantener el tiempo de todas las maquinas tan cercano como
sea posible.
Se supone que cada maquina tiene un cronometro, el cual
provoca una interrupción en H veces por cada segundo.
Cuando este cronómetro se detiene, el controlador de
interrupciones suma 1 a un reloj en software, el cual
mantiene el registro del numero de marcas (interrupciones) a
partir de cierta fecha acordada en el pasado.
 Si dos relojes se alejan de UTC en la dirección
opuesta, en un instante ∆t después de que fueron
sincronizados, podrían estar tan alejados como 2p
∆ t.
 Si los diseñadores del sistema operativo desean
garantizar que dos relojes cuales quiera no
difieran mas de 8, entonces los relojes deben de
volverse a sincronizar (en software) al menos
cada 8/2p segundo.
El método de sincronización de
Christian

 Se basa en la observación que en un período corto de tiempo, los


mensajes de ida en internet se demoran casi lo mismo que los de vuelta.

mr

mt
cliente
Servidor de tiempo
El método de sincronización de
Christian
 Si se llama T(mr) al tiempo en que fue mandado el mensaje
y T(mt) al del recibido, y que t es el tiempo que se recibió
en mt, se puede estimar que el timestamp se debe poner
en t + (T(mt)-T(mr))/2
 Esto se puede comparar con lo siguiente si se conoce el
tiempo mínimo que puede tardar una viaje en redondo en la
red T(rd)

min min

T(mr) t T(mt)
Algoritmo de Berkeley
 En el Algoritmo de Cristian, el Servidor de tiempo es
pasivo.
 Mide las desviaciones de los relojes de todos los elementos de la
red, y les obliga a compensar con ajustes de retraso del reloj a
los equipos que está adelantados, y con ajustes de adelanto en
el reloj a los equipos que están atrasados. Es un algoritmo útil
para aquellos casos en que no se cuenta con una referencia
universal de tiempo CTU.
3.1.4 Uso de relojes sincronizados

Hace poco se dispone del hardware y software necesario


para la sincronización de relojes a gran escala (es decir en
todo internet).Con esta tecnología es posible mantener
millones de relojes sincronizados con UTC con precisión de
algunos cuantos milisegundos.
Entrega de mensajes a lo mas uno

Nuestro primer ejemplo se refiere a la


forma de reforzar la entrega de a lo mas
un mensaje a un servidor incluso en
presencia de fallas cada mensaje tiene
un numero id y el servidor los guarda de
esa manera para poder diferenciarlos.
Consistencia del cache con
base en el reloj

Nuestro segundo ejemplo se refiere a la


consistencia del caché en un sistema distribuido de
archivos. Por razones de desempeño, es deseable
que los clientes puedan ocultar archivos de
manera local.
Bibliografía

 Herrera, A. (2006). Sincronización, relojes físicos, relojes lógicos, usos de


la sincronización. Febrero 24, 2020, de sites Sitio web:
https://sites.google.com/site/mrtripus/home/sistemas-operativos-2/2-2-si
ncronizacion-relojes-fisicos-relojes-logicos-usos-de-la-sincronizacion
 Romero, F. (2009). Sincronización de Relojes en Ambientes Distribuidos.
Febrero 23, 2020, de edu Sitio web:
https://postgrado.info.unlp.edu.ar/wp-content/uploads/2014/07/Romero_
Fernando.pdf
 Tanenbaum Andrew, Sistemas Operativos Distribuidos, Prentice Hall.
(PDF)

También podría gustarte