|
|
@@ -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:
|
|
|
+
|
|
|

|
|
|
+
|
|
|
+2. Simulación con 2 core:
|
|
|
+
|
|
|

|
|
|
+
|
|
|
+3. Simulación con 4 core:
|
|
|
+
|
|
|

|
|
|
|
|
|
|
|
|
+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
|