Sei sulla pagina 1di 3

Captulo 3.

Sincronizacin en Sistemas Distribuidos El objetivo de un sistema operativo distribuido es conectar los recursos y servicios disponibles, mediante una red de comunicaciones, e integrarlos en un nico sistema. A la hora de construir un sistema operativo distribuido, hay dos opciones. Una consiste simplemente en disearlo e implementarlo completamente, apoyndose en la mquina desnuda o en microkernels. La otra posibilidad es construir una capa que se apoya sobre un sistema operativo que se est utilizando y con su misma interfaz, y simplemente aumentando los servicios. Un ejemplo de este enfoque es el DCE (Distributed Computing Environment) de la OSF. Aunque todos los recursos del sistema deben gestionarse en forma global, un sistema operativo distribuido tambin debe ocuparse, al igual que el sistema centralizado, de: o o o o la gestin de los procesadores la asignacin de memoria de los dispositivos de entrada/salida y las comunicaciones entre los distintos equipos.

En la gestin de estos elementos, la principal diferencia entre el sistema operativo centralizado y distribuido es que en el primero se dispone de una informacin exacta y actualizada de todo el estado del equipo, mientras que en el caso distribuido no se dispone de un reloj comn y, adems, el paso de los mensajes(con la informacin de estado) tiene retrasos, e incluso se puede perder. Adems de la comunicacin, es fundamental la forma en que los procesos cooperan y se sincronizan entre s. Ejemplos: Forma de implantar las regiones crticas. Forma de asignar recursos en un sistema distribuido.

Los problemas relativos a las regiones crticas, exclusin mutua y la sincronizacin: Generalmente se resuelven en sistemas de una sola cpu con mtodos como los semforos y los monitores: o Se basan en la memoria compartida. o No son aplicables a sistemas distribuidos. Otro problema de gran importancia es el tiempo y la forma de medirlo, ya que juega un papel fundamental en algunos modelos de sincronizacin.

Sincronizacin de Relojes Generalmente los algoritmos distribuidos tienen las siguientes propiedades: o La informacin relevante se distribuye entre varias mquinas. o Los procesos toman las decisiones solo con base en la informacin disponible en forma local. o Debe evitarse un nico punto de fallo en el sistema. o No existe un reloj comn o alguna otra fuente precisa del tiempo global. Los primeros tres puntos indican que es inaceptable reunir toda la informacin en un solo lugar para su procesamiento, pero lograr la sincronizacin sin centralizacin requiere hacer las cosas distintas al caso de los sistemas operativos tradicionales. El ltimo punto tambin es crucial: o En un sistema centralizado el tiempo no es ambiguo. o En un sistema distribuido no es trivial poner de acuerdo a todas las mquinas en la hora. o Se requiere un acuerdo global en el tiempo, pues la falta de sincronizacin en los relojes puede ser drstica en procesos dependientes del tiempo. o La pregunta es si es posible sincronizar todos los relojes en un sistema distribuido.

Algoritmos Para la Sincronizacin de Relojes Si una mquina tiene un receptor de UTC, todas las mquinas deben sincronizarse con ella. Si ninguna mquina tiene un receptor de UTC: o Cada mquina lleva el registro de su propio tiempo. o Se debe mantener el tiempo de todas las mquinas tan cercano como sea posible. Se supone que cada mquina tiene un cronmetro que provoca una interrupcin h veces por segundo. Cuando el cronmetro se detiene, el manejador de interrupciones aade 1 a un reloj en software. El reloj en software mantiene un registro del nmero de marcas (interrupciones) a partir de cierta fecha acordada antes; al valor de este reloj se lo llama C.

Cuando el tiempo UTC es t, el valor del reloj en la mquina p es Cp(t):


Lo ideal sera que Cp(t) = t para toda p y todo t: o dC/dt debera ser 1. Lo real es que los cronmetros no realizan interrupciones exactamente h veces por segundo: -5 o Poseen un error relativo de aproximadamente 10 . o El fabricante especifica una constante llamada tasa mxima de alejamiento que acota el error. o El cronmetro funciona dentro de su especificacin si existe una constante r y se cumple: 1 - dC/dt 1 + .

Si dos relojes se alejan de UTC en la direccin opuesta:


En un instante t luego de la sincronizacin podran estar tan alejados como: 2 t. Para garantizar que no difieran ms de : o Se deben volver a sincronizar (en software) al menos cada / 2 segundos.

Referencias http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO9.htm#Intro http://www.yafuiste.com.ar/files/sod/SOD-Tema4-Sincronizaci%C3%B3n.pdf http://laurel.datsi.fi.upm.es/_media/docencia/asignaturas/sod/sincronizacion.pdf http://laurel.datsi.fi.upm.es/_media/docencia/asignaturas/sod/sincronizacion-4pp.pdf http://laurel.datsi.fi.upm.es/docencia/asignaturas/sod

Potrebbero piacerti anche