Agustín Cangiani před 10 roky
rodič
revize
2430e973fe
2 změnil soubory, kde provedl 33 přidání a 4 odebrání
  1. 32 3
      informe/informe.md
  2. 1 1
      tasks.cpp

+ 32 - 3
informe/informe.md

@@ -23,9 +23,35 @@ geometry: margin=2cm
 Ejercicio 1
 ====
 
-![Ej1](informe/imagenes/ejercicio1.png)
+Para el primer ejercicio de este trabajo práctico se nos pide implementar TaskConsola, una simulación
+de una tarea interativa que debe realizar llamadas bloquantes de duración aleatoria y luego de esto consumir
+un ciclo de cpu. Dicha tarea se contruye a partir de 3 parámetros **n**, **bmin** y **bmax** , 
+donde el primero  determina la cantidad de llamadas de bloqueantes a realizar y luego 
+**bmin** y **bmax** determinan el rango de la duración de cada la llamada bloqueante.
+
+La implementación de TaskConsola es bastante sencilla, se generan **n** iteraciones, donde 
+en cada una de ellas se genera una llamada bloqueante con una duración de **x** ciclos de reloj y
+un ciclo de ejecución de cpu. Para determinar **x** utilizamos la siguiente fórmula:
+
+```python
+  x = rand() % ( bmax - bmin + 1 ) + bmin
+```
+
+
+Para probar y generar el gráfico de Gantt de la implementación realizada utilizamos el siguiente lote
+ de tareas del tipo TaskConsola: 
 
+| Task 	| Release Time 	| n 	| bmin 	| bmax 	|
+|------	|--------------	|---	|------	|------	|
+| 0    	| 3            	| 5 	| 1    	| 3    	|
+| 1    	| 5            	| 2 	| 4    	| 8    	|
+| 2    	| 5            	| 2 	| 4    	| 8    	|
+
+
+
+![Ej1](informe/imagenes/ejercicio1.png)
 
+\newpage
 Ejercicio 2
 ====
 
@@ -34,11 +60,13 @@ Ejercicio 2
 ![Ej2-4](informe/imagenes/ejercicio2_4core.png)
 
 
+\newpage
 Ejercicio 3
 ====
 ![Ej3](informe/imagenes/ejercicio3_1core.png)
 
 
+\newpage
 Ejercicio 4
 ====
 
@@ -65,6 +93,7 @@ Se ve que aumentar la cantidad de cores no mejora los tiempos de ejecución de l
 Esto se debe a que este scheduler toma el primer nucleo libre y tiene en cuenta en que nucleo se encuentra el proceso actual. Esto provoca que haya cambio de nucleos constantemente en los procesos, sin aprovechar los cores libres.
 
 
+\newpage
 Ejercicio 5
 ====
 
@@ -85,7 +114,7 @@ Ejercicio 5
 
 
 
-
+\newpage
 Definiciones
 ====
 
@@ -99,7 +128,7 @@ Tiempo total de ejecución: Intervalo de ticks desde que se ejecuta un proceso h
 
 
 
-
+\newpage
 # Ejercicio 8
 
 A continuación se muestran los diferentes casos de prueba realizados para comparar los diferentes tipos de schedulers.

+ 1 - 1
tasks.cpp

@@ -26,8 +26,8 @@ void TaskConsola(int pid, vector<int> params) {
 	uint bmax = params[2];
 
 	for (uint i = 0; i < calls; i++) {
+		uso_IO(pid, rand() %(bmax-bmin+1) + bmin);
 		uso_CPU(pid, 1);
-		uso_IO(pid, rand() %(bmax-bmin) + bmin);
 	}
 }