]> git.llucax.com Git - z.facultad/75.74/practicos.git/blobdiff - practicas/practica2/README
Cosas de Distribuidos I.
[z.facultad/75.74/practicos.git] / practicas / practica2 / README
index 8f44af6725a591f5a758e58f8f3054a504ae4f22..303a18db9e9cfbdb5cac676fc2087e61b2047878 100644 (file)
@@ -1,18 +1,25 @@
 P02e1101
 ========
 P02e1101
 ========
-Ejercicio 1.1, como implementa el mutex con el algoritmo de decker con turnos
+Ejercicio 1.1, como implementa el mutex con el algoritmo de Dekker con turnos
 sólo funciona para 2 procesos y hay que numerarlos a mano. Se corre con:
 $ ./P02e1101 0 & ./P02e1101 1 &
 (el primer parametro es el numero de proceso, debe ser 0 o 1, se puede pasar un
 segundo parametro opcional con la cantidad de iteraciones a realizar)
 
 sólo funciona para 2 procesos y hay que numerarlos a mano. Se corre con:
 $ ./P02e1101 0 & ./P02e1101 1 &
 (el primer parametro es el numero de proceso, debe ser 0 o 1, se puede pasar un
 segundo parametro opcional con la cantidad de iteraciones a realizar)
 
+Se provee un script lanzador: ./P02e1101.sh
+(recibe un parámetro opcional con la cantidad de iteraciones)
+
 P02e1201
 ========
 Ejercicio 1.2. Muy similar al anterior pero se puede correr con N procesos. Por
 ejemplo:
 P02e1201
 ========
 Ejercicio 1.2. Muy similar al anterior pero se puede correr con N procesos. Por
 ejemplo:
-$ ./P02e1101 0 & ./P02e1101 1 & ./P02e1101 2 & ./P02e1101 3 & ./P02e1101 4
+$ ./P02e1201 0 & ./P02e1201 1 & ./P02e1201 2 & ./P02e1201 3 & ./P02e1201 4
 (tambien acepta un parametro extra para la cantidad de iteraciones)
 
 (tambien acepta un parametro extra para la cantidad de iteraciones)
 
+Se provee un script lanzador: ./P02e1201.sh
+(recibe un parámetro opcional con la cantidad de iteraciones, este lanzador
+corre 5 instancias)
+
 P02e2111
 ========
 Ejercicio 2.1.1. Productor-consumidor usando semaforos binarios y shared memory.
 P02e2111
 ========
 Ejercicio 2.1.1. Productor-consumidor usando semaforos binarios y shared memory.
@@ -25,4 +32,71 @@ productor, 1 es consumidor)
 Otra forma de probar con varios consumidores es:
 $ ./P02e2111 0 20 & ./P02e2111 1 12 & ./P02e2111 1 8 &
 
 Otra forma de probar con varios consumidores es:
 $ ./P02e2111 0 20 & ./P02e2111 1 12 & ./P02e2111 1 8 &
 
+Se provee un script lanzador: ./P02e1201.sh
+(recibe un parámetro opcional con la cantidad de iteraciones, este lanzador
+corre 1 productor y 1 consumidor)
+
+P02e2121
+========
+Ejercicio 2.1.2. Productor-consumidor usando semaforos binarios y shared memory
+pero con 3 productores que producen parcialmente y 2 consumidores que consumen
+todo. Debe correr primero el primer productor porque inicializa las estructuras
+compartidas.
+Por ejemplo:
+$ ./P02e2121 0 & ./P02e2121 1 & ./P02e2121 2 & ./P02e2121 3 & ./P02e2121 4 &
+(el proceso 0 a 2 son productores, el 3 y 4 consumidores).
+
+Se provee un script lanzador: ./P02e2121.sh
+(recibe un parámetro opcional con la cantidad de iteraciones)
+
+P02e2211
+========
+Ejercicio 2.2.1. Productor-consumidor usando colas de mensajes.
+Debe coincidir la cantidad de cosas a producir y a consumir, y puede haber solo
+un productor (que debe correr primero) y un solo consumidor.
+Por ejemplo:
+$ ./P02e2211 0 & ./P02e2211 1 &
+(tambien acepta un parametro extra para la cantidad de iteraciones, 0 es
+productor, 1 es consumidor)
+
+Se provee un script lanzador: ./P02e2211.sh
+(recibe un parámetro opcional con la cantidad de iteraciones)
+
+P02e2221
+========
+Ejercicio 2.2.2. Productor-consumidor usando colas de mensajes pero con 3
+productores que producen parcialmente y 2 consumidores que consumen todo.
+Debe correr primero el primer productor porque inicializa las estructuras
+compartidas.
+Por ejemplo:
+$ ./P02e2221 0 & ./P02e2221 1 & ./P02e2221 2 & ./P02e2221 3 & ./P02e2221 4 &
+(el proceso 0 a 2 son productores, el 3 y 4 consumidores).
+
+Se provee un script lanzador: ./P02e2221.sh
+(recibe un parámetro opcional con la cantidad de iteraciones)
+
+P02e2311
+========
+Ejercicio 2.3.1. Productor-consumidor usando pipes.
+Debe coincidir la cantidad de cosas a producir y a consumir, y puede haber solo
+un productor (que debe correr primero) y un solo consumidor.
+Por ejemplo:
+$ ./P02e2311 0 & ./P02e2311 1 &
+(tambien acepta un parametro extra para la cantidad de iteraciones, 0 es
+productor, 1 es consumidor)
+
+Se provee un script lanzador: ./P02e2311.sh
+(recibe un parámetro opcional con la cantidad de iteraciones)
+
+P02e2321
+========
+Ejercicio 2.3.2. Productor-consumidor usando pipes pero con 3 productores
+que producen parcialmente y 2 consumidores que consumen todo. Debe correr
+primero el primer productor porque inicializa las estructuras compartidas.
+Por ejemplo:
+$ ./P02e2321 0 & ./P02e2321 1 & ./P02e2321 2 & ./P02e2321 3 & ./P02e2321 4 &
+(el proceso 0 a 2 son productores, el 3 y 4 consumidores).
+
+Se provee un script lanzador: ./P02e2321.sh
+(recibe un parámetro opcional con la cantidad de iteraciones)