jueves, 2 de abril de 2009

RELOJES: FISICOS Y LOGICOS

Reloj Logicos

Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj. Este es un cronómetro que consistente en un cristal de cuarzo de precisión sometido a una tensión eléctrica que oscila con una frecuencia bien definida que depende de la forma en que se corte el cristal, el tipo de cristal, la magnitud de la tensión.
A cada cristal se le Asocian dos registros:
  • Registro contador.
  • Registro mantenedor.


Cada oscilación del cristal decrementa en “1” al contador y cuando el contador llega a “0”, se genera una interrupción, y el contador se vuelve a cargar mediante el registro mantenedor. Se puede programar un cronómetro para que genere una interrupción “x” veces por segundo.
Cada interrupción se denomina marca de reloj.

Para una Computadora y un Reloj, no les interesan los pequeños desfasajes del reloj porque todos los procesos de la máquina usan el mismo reloj y tendrán consistencia interna, lo que importan sin los tiempos relativos.

Para varias computadoras con sus respectivos relojes es imposible garantizar que los cristales de computadoras distintas oscilen con la misma frecuencia. ya que hay una pérdida de sincronía en los relojes (de software), es decir que tendrán valores distintos al ser leidos. La diferencia entre los valores del tiempo se llama distorsión del reloj y podría generar fallas en los programas dependientes del tiempo.


Lamport demostró que la sincronización de relojes es posible y presentó un algoritmo para lograrlo. Este señaló que la sincronización de relojes no tiene que ser absoluta ya que si 2 procesos no interactúan no es necesario que sus relojes estén sincronizados. Este algiritmo se asigna un periodo de tiempo a cada evento.

Relojes Fisico

La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.

El algoritmo de Lamport proporciona un orden de eventos sin ambigüedades pero los valores de tiempo asignados a los eventos no tienen porqué ser cercanos a los tiempos reales en los que ocurren.


En ciertos sistemas (ej.: sistemas de tiempo real ), es importante la hora real del reloj ya que se precisan relojes físicos externos (más de uno). Estos se deben sincronizar:
Con los relojes del mundo real. Entre sí, la medición del tiempo real con alta precisión no es sencilla. Estos son los relojes que podemos visualizar en esquina inferior de nuestra computadora.

Sincronizacion en los Sistemas Distribuidos

La sincronización es un punto clave para los sistemas operativos distribuidos. Ya que ademas de la comunicacion es fundamental la forma en el que los procesos cooperan y se sincronizan entre si para la utilizacion de los recursos compartidos de la red.
El término sincronización 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 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.

En estos Sistema para sincronizar el trabajo comun entre procesos y evitar las complicaciones que puden ir surgiendo con el uso de estos , emplean Algoritmos Distribuidos que cuenta con las siguientes caracteristicas:

  • Como una característica de los sistemas distribuidos, es inaceptable que se concentre en un nodo, a toda aquella información que sea relevante para la toma de decisiones que tengan que llevar a cabo los procesos, pues es común que lo hagan basándose en la información almacenada localmente.

  • Se debe contemplar o prever los posibles puntos de fallo del sistema, puesto que en un sistema distribuido el flujo de trabajo no debe verse afectado si el proceso se interrumpe en algún nodo.

  • Debido a que puede existir un gran número de nodos de procesamiento, no existe un reloj o fuente de tiempo común para todos ellos. Esto se simplifica al hecho de en que tiempo ocurre un suceso con respecto de otro.

Se utiliza el término "reloj" para hacer referencia al dispositivo con que cuentan casi todas las computadoras, y que se encarga de registrar el tiempo. Existen 2 tipos de Relojes

  • Logicos
  • Fisicos

Etonces se puede decir que la sincronizacion juegua un papel importante dentro de los Sistemas Distribuidos ya que todos los procesos y forma de utilizar los recursos compartidos en la red van girar entorno ha esta forma de trabajo para evitar los problemas mencionados con anterioridad en la parte superior.