Professional Documents
Culture Documents
Pgina | 1
Contenido
INTRODUCCION .................................................................................................................................. 3
4.1 TCNICAS DE ESPECIFICACIN FORMAL......................................................................................... 4
4.1.1 REDES DE PETRI ......................................................................................................................... 4
4.1.2 PROMELA .................................................................................................................................. 6
4.2 MODELO TOLERANTE A FALLOS. ................................................................................................... 7
4.3 SINCRONIZACIN DE RELOJES ....................................................................................................... 8
4.4 COORDINACIN ENTRE PROCESOS DISTRIBUIDOS. ........................................................................ 9
4.4.1 EXCLUSIN MUTUA ................................................................................................................... 9
4.4.2 ALGORITMOS DE ELECCIN ...................................................................................................... 10
4.5 MEMORIA COMPARTIDA DISTRIBUIDA. ...................................................................................... 12
4.6 SISTEMAS DE TIEMPO REAL......................................................................................................... 13
CONCLUSIONES: ............................................................................................................................... 14
BIBLIOGRAFA: ................................................................................................................................. 14
Pgina | 2
INTRODUCCION
Existen varias definiciones de un sistema distribuido, una de ellas es [9] [19]: ``Un sistema de
computacin distribuido consta de mltiples procesadores autnomos que no comparten
memoria principal, sino que cooperan a travs de una red de comunicaciones que los
interconecta'' (ver figura 4.1).
El trmino sistema operativo distribuido [9] [19] define una capa que hace transparente a los
usuarios la localizacin de los elementos que forman parte del sistema.
Los sistemas centralizados tienen un punto de fallo nico (hay un nico computador en el que
se ejecutan todas las aplicaciones). En los sistemas distribuidos, los elementos que lo
componen estn dispersos y, por lo tanto, tienen probabilidades de fallo independientes. Esta
caracterstica puede utilizarse para preveer la aparicin de fallos parciales y posibilitar su
tratamiento (otro computador puede sustituir al que ha fallado). De esta forma, el sistema
distribuido permite la construccin de sistemas que operan de forma continua.
Pgina | 3
Pgina | 4
Pgina | 5
4.1.2 Promela
Promela ms que nada se podra decir que es un lenguaje de modelado de verificacin, el
lenguaje permite la creacin dinmica de procesos concurrentes para modelar, por ejemplo, los
sistemas distribuidos.
Cuyo uso previsto es para verificar la lgica de los sistemas paralelos. Dado un programa en
PROMELA, Spin puede verificar el modelo de correccin mediante la realizacin de
simulaciones aleatorias o iterativos de la ejecucin del sistema modelado, o puede generar un
programa C que realiza una verificacin rpida exhaustiva del espacio de estado del sistema.
Durante las simulaciones y verificaciones SPIN cheques por la ausencia de puntos muertos ,
recepciones no especificadas, y el cdigo inejecutables.
El verificador tambin se puede utilizar para demostrar la exactitud de los invariantes del
sistema y se puede encontrar ciclos de ejecucin no de progreso.
Por ltimo, es compatible con la verificacin de las restricciones temporales de tiempo lineal; ya
sea con PROMELA nunca -demanda o formulando directamente las limitaciones en la lgica
temporal. Cada modelo puede ser verificada con la vuelta bajo diferentes tipos de suposiciones
sobre el medio ambiente. Una vez que la correccin de un modelo ha sido establecido con
Spin, este hecho se puede utilizar en la construccin y la verificacin de todos los modelos
posteriores.
Programas PROMELA consisten en procesos, canales de mensajes y variables. Los procesos
son objetos globales que representan las entidades concurrentes del sistema distribuido.
Canales de mensajes y las variables pueden ser declaradas globalmente o localmente dentro
de un proceso. Procesos de especificar el comportamiento de los canales, y las variables
globales definen el entorno en el que los procesos se ejecutan.
Nota: Spin es un paquete software que permite la verificacin formal de sistemas distribuidos.
En si es un sistema genrico de verificacin que soporta el diseo y la verificacin de sistemas
de procesos asncronos. Los modelos de verificacin de Spin estn enfocados en probar la
correccin de las interacciones de los procesos, abstrayndose lo ms posible de secuencia de
computaciones interna.
Este software fue desarrollado por el grupo de mtodos formales y verificacin de los
Laboratorios Bell, dando comienzo su desarrollo en 1980. [2]
Pgina | 6
Pgina | 7
a. Algoritmo de UTC
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
o
o
El tiempo del receptor UTC no puede ser menor que el tiempo de la mquina que
le solicit el tiempo.
El servidor de UTC debe procesar las solicitudes de tiempo con el concepto de
interrupciones, lo cual incide en el tiempo de atencin.
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.
Pgina | 8
b. 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. [4]
Pgina | 9
Pgina | 10
Al recibir la primera de estas respuestas 4 sabe que su trabajo ha terminado. Sabe que alguno
de estos grandulones tomara el control y se convertir en el coordinador. Solo se sienta y
espera para ver quin es el ganador.
Pgina | 11
Pgina | 12
Pgina | 13
Conclusiones:
El diseo de sistemas distribuidos abarcan una cantidad de aspectos considerables, por lo
cual su desarrollo implica mucha complejidad., tambin es cierto que existen ciertos aspectos
que requieren extremo cuidado al desarrollarse e implantarse como el manejo de fallos, el
control de la concurrencia, etc. Se nota tambin que muchas tecnologas estn en constante
desarrollo y maduracin, lo cual implica un minucioso estudio previo de muchos.
Bibliografa:
[1]http://www.iuma.ulpgc.es/users/lhdez/inves/pfcs/memoria-ivan/node2.html
[2]Redes de Petri BDD.PDF
[3] http://en.wikipedia.org/wiki/Promela
[4]http://sistemasoperativosdistribuidoss.blogspot.mx/2012/05/relojes-fisicos-y-logicos.html
[5]http://sistemasoperativosdistribuidoss.blogspot.mx/2012/05/usos-de-la-sincronizacion.html
[6]http://distribui2.blogspot.mx/2013/06/algoritmo-de-eleccion-grandulon.html
[7] http://sedici.unlp.edu.ar/handle/10915/23309
[8]Sistemas de tiempo real Elaborado por: Encarnacin Hernndez Francisco y Mariano Cruz
Carlos Alberto.ppt
Pgina | 14