Browse Source

ejercicio 2 casi completo, falta conslusión y cuadro

Agustín Cangiani 10 năm trước cách đây
mục cha
commit
b4d249a01f
2 tập tin đã thay đổi với 76 bổ sung15 xóa
  1. 3 3
      Makefile
  2. 73 12
      informe/informe.md

+ 3 - 3
Makefile

@@ -45,9 +45,9 @@ ejercicio1: all makedir
 	./simusched consola.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio1.png
 
 ejercicio2: all makedir
-	./simusched ejer2.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_1core.png
-	./simusched ejer2.tsk 2 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_2core.png
-	./simusched ejer2.tsk 4 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_4core.png
+	./simusched ejer2.tsk 1 2 $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_1core.png
+	./simusched ejer2.tsk 2 2 $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_2core.png
+	./simusched ejer2.tsk 4 2 $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_4core.png
 
 ejercicio3: all makedir
 	./simusched ejer3.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio3_1core.png

+ 73 - 12
informe/informe.md

@@ -56,11 +56,68 @@ por los parámtetros de las tareas.
 Ejercicio 2
 ====
 
+En este ejercicio se nos pide experimentar con un scheduler del tipo **FCFS**(*first come, first served*), esto
+significa que atendera a las tareas en el orden de llegada y no liberará el procesador hasta concluir con el 
+proceso asignado. 
+
+Para probar dicha implementación se unos brinda un lote de tareas compuesto por tareas del tipo
+TaskConsola y TaskCPU, donde el primer tipo ya fue expuesto en el primer ejercicio de este trabajo y la segundo
+es una tarea que solo consumirá consumirá una cantidad finita de ciclos de cpu(determinadas por parámetro). El 
+siguiente cuadro muestra el lote utilizado:
+
+| Task | Tipo        | Release time | n  | bmin | bmax |
+|------|-------------|--------------|----|------|------|
+| 0    | TaskCPU     | 0            | 10 |      |      |
+| 1    | TaskConsola | 5            | 5  | 1    | 4    |
+| 2    | TaskConsola | 6            | 5  | 1    | 2    |
+| 3    | TaskCPU     | 8            | 10 |      |      | 
+
+Para probar este lote, se nos pide hacer correr el scheduler con un costo de *cambio de contexto* 
+de 2 ciclos en máquinas de 1, 2 y 4 cores, además es válido aclarar que el costo de *core switch* 
+es irrelevante para esta implementación.
+
+1. Simulación con 1 core:
+
 ![Ej2-1](informe/imagenes/ejercicio2_1core.png)
+
+2. Simulación con 2 core:
+
 ![Ej2-2](informe/imagenes/ejercicio2_2core.png)
+
+3. Simulación con 4  core:
+
 ![Ej2-4](informe/imagenes/ejercicio2_4core.png)
 
 
+Finalmente se nos pide calcular *latencia*[^footnote] y *throughtput*[^footnote] en cada una de las 
+pruebas, a lo cual elaboramos los siguientes cuantos:
+
+A. Latencia:
+
+| Task | Tipo        | 1 Core | 2 Cores | 4 Cores |
+|------|-------------|--------|---------|---------|
+| 0    | TaskCPU     | 2      | 2       | 2       |
+| 1    | TaskConsola | 14     | 7       | 7       |
+| 2    | TaskConsola | 36     | 14      | 8       |
+| 3    | TaskCPU     | 58     | 34      | 10      |
+|      | Promedio    | 27.5   | 14.25   | 6.75    |
+
+B. Throughtput:
+
+| Task | Tipo        | 1 Core | 2 Core  | 4 Cores |
+|------|-------------|--------|---------|---------|
+| 0    | TaskCPU     | 0      | 0       | 0       |
+| 1    | TaskConsola | 0      | 0       | 0       |
+| 2    | TaskConsola | 0      | 0       | 0       |
+| 3    | TaskCPU     | 0      | 0       | 0       |
+|      | Promedio    | 0      | 0       | 0       |
+
+AGREGAR UN CONCLUSIONE SOBRE LATENCIA Y THROUGTHPUT
+
+[^footnote]: Latencia, Cantidad de ticks en ready hasta que se ejecuta la task.
+[^footnote]: Throughtput, Insert definition
+
+
 \newpage
 Ejercicio 3
 ====
@@ -114,18 +171,7 @@ Ejercicio 5
 
 
 
-
-\newpage
-Definiciones
-====
-
-Latencia: Cantidad de ticks en ready hasta que se ejecuta la primera task. Esta métrica se puede extender
-para ver la latencia promedio de todos los procesos que corrió el scheduler.
-
-Waiting time: Cantidad de ticks en ready durante toda la ejecución de un proceso.
-
-Tiempo total de ejecución: Intervalo de ticks desde que se ejecuta un proceso hasta su terminación.
---> buscar en las teóricas, la latencia del proceso puede o no ser incluida 
+ 
 
 
 
@@ -161,3 +207,18 @@ Se eligieron los siguientes casos de prueba ya que creemos que son los casos que
 
 ## Cuadro mágico
 Voy a ver como armar gráficos en python, pero en caso se emergencia "sudo apt install libreoffice-calc"
+
+\newpage
+# Ejercicio 9
+
+\newpage
+Definiciones
+====
+
+Latencia: Cantidad de ticks en ready hasta que se ejecuta la primera task. Esta métrica se puede extender
+para ver la latencia promedio de todos los procesos que corrió el scheduler.
+
+Waiting time: Cantidad de ticks en ready durante toda la ejecución de un proceso.
+
+Tiempo total de ejecución: Intervalo de ticks desde que se ejecuta un proceso hasta su terminación.
+--> buscar en las teóricas, la latencia del proceso puede o no ser incluida