Sie sind auf Seite 1von 4

AMPLIACION DE SISTEMAS OPERATIVOS. ALGORITMO DE RICART Y AGRAWALA (ver. 0.

1)
Guillermo Gonzlez Talavn a a 17 de marzo de 2010

1.

Objetivo de la prctica a

Programar mediante JAVA-RMI un conjunto de procesos distribuidos que autorregulen el acceso a una zona de exclusin mutua comn. o u

2.

Descripcin de la prctica o a

El algoritmo que se usar ser el de Ricart y Agrawala1 . Pueden consula a tarse las transparencias de teor 5.155.18. Este algoritmo a su vez se basa a en el algoritmo de marcas de tiempo de Lamport2 , transparencias de teor a 4.304.37. Como requisito auxiliar, ser necesario usar un algoritmo parecido a al utilizado por NTP (transparencia de teor 4.20). a
RICART, G.; AGRAWALA, A.K.: An Optimal Algorithm for Mutual Exclusion in Computer Networks, Communications of the ACM, Vol. 24, No.1, pp.917, 1981 2 LAMPORT, L.: Time, Clocks, and the Ordering of Events in a Distributed System, Communications of the ACM, Vol. 21, No.7, pp. 558565, 1978
1

2.1.

Entorno y herramientas

El programa se har en JAVA-RMI, pudiendo elegir para su desarrollo, a pruebas y defensa tanto las versiones de Windows como de Linux instaladas en el Laboratorio.

2.2.

Modo de operacin o

La prctica en funcionamiento debe consistir en arrancar de forma aua tomtica seis procesos java en tres nodos distintos (dos procesos en cada a mquina). a Los procesos implicados ejecutarn el mismo programa (garantizando, a eso s que cada uno de ellos use nmeros aleatorios diferentes). Simularn, , u a mediante una llamada a sleep, la realizacin de un clculo de duracin vao a o riable y distribuida uniformemente en el intervalo de 0.3 a 0.5 segundos y, a continuacin, entrarn en una seccin cr o a o tica comn de gestin distribuida. u o Permanecern en la seccin cr a o tica durante un tiempo aleatorio uniformemente distribuido en el intervalo de 0.1 a 0.3 segundos. El proceso de clculo a y entrada en la seccin cr o tica se repetir cien veces. a Cada vez que un proceso entra en la seccin cr o tica, escribir en un chero a de log una l nea de la forma Px E tiempo , donde x es el nmero de u proceso (comprendido entre 1 y 6) y tiempo es el nmero de milisegundos u transcurridos desde el 1 de enero de 1970 segn el reloj de la mquina local u a (formato que devuelve el mtodo getTime() de la clase Date). Cuando el e proceso abandone la seccin cr o tica, imprimir el mensaje Px S tiempo , a con las mismas especicaciones del mensaje anterior. Una vez nalizada la ejecucin, debern unirse los cheros de log y verio a carse que no ha habido violacin de la seccin cr o o tica. La comprobacin se debe hacer con cuidado, pues los relojes de cada o mquina no estn sincronizados. Debe haber, por consiguiente un proceso a a previo que calcule los desv de las mquinas respecto a una de ellas, que os a se tomar como referencia, y el error cometido en esa medida. Se usar un a a algoritmo similar al NTP, visto en teor Se ejecutar el algoritmo diez veces a. a al principio y diez al nal de la ejecucin para estimar las desviaciones de los o relojes y el error cometido. Con esta informacin se corregir el log comn. o a u Como es razonable, solo se admitir la simultaneidad dentro de la seccin a o

cr tica si el tiempo de colisin es inferior al error obtenido en la estimacin o o del desv de los relojes. o Se debern programar scripts de modo que permitan arrancar automtia a camente los procesos en todas las mquinas, sin tener que hacerlo manuala mente.

2.3.

Forma de entrega y defensa

Las prcticas se realizarn en parejas, salvo causa justicada para reaa a lizarlas individualmente (consultad primero). Las parejas sern las mismas a que en la prctica anterior. a Se abrir un plazo en DIAWEB para formar grupos de prcticas, depositar a a el cdigo fuente y entregar la copia impresa. Permaneced atentos a la pgina o a web de la parte prctica de la asignatura: a http://avellano.fis.usal.es/~gyermo/assoo/ Una vez superado el plazo de entrega, la prctica no ser modicada ni a a se admitir enmienda alguna. a La prctica estar formada por dos chero fuente con extensin .java: a a o Mutua.java e Interfaz.java. El primero se encargar de los procesos que a gestionan el algoritmo. El segundo, se podr usar para especicar la intera faz remota. Finalmente, los scripts programados no es necesario subirlos a DIAWEB. Se entregar un listado del cdigo fuente de la prctica, incluidos los a o a scripts usados, en letra de espaciado jo, impreso por las dos caras del folio y al que se adjuntar una portada que se obtendr de la direccin: a a o http://majuelo.fis.usal.es/Latex/PortadaASSOO.html El modo de entrega y defensa junto con los plazos pertinentes, vienen especicados en la pgina web de las prcticas de la asignatura. a a

2.4.

Evaluacin o

En la defensa se evaluar tanto las prcticas como la actuacin de cada a a o miembro de la pareja. La nota individual de defensa servir para modular la a 3

nota obtenida en la prctica. a La defensa se realizar en el mismo acto por los dos miembros del grupo a de prcticas en el Laboratorio de Informtica. a a Para obtener una nota de 5 en la prctica, basta con que funcione correca tamente en el Windows o en el Linux de clase. Esta condicin es inexcusable, o incluso para aquellas personas que por razones de trabajo o de otra ndole no pueden asistir a clase. A partir de ah y dependiendo de la calidad del , trabajo realizado, la nota que se puede obtener es superior. Se entender que la ejecucin de la prctica es correcta si realiza bien el a o a algoritmo de que se trata, sin provocar interbloqueo ni inanicin. Caso de o que no ocurra as o no se haga con las especicaciones expresadas en este , documento, la prctica no se considerar aprobada. a a La prctica debe consumir en su ejecucin entre 2 y 6 minutos. Se mea o dir el tiempo nal de ejecucin de la aplicacin y deber ajustarse a este a o o a intervalo.

3.

Consideraciones adicionales

Permaneced atentos a las versiones que pueden aparecer de este enunciado, para corregir posibles errores, por ejemplo.

Das könnte Ihnen auch gefallen