|
|
@@ -0,0 +1,61 @@
|
|
|
+\newpage
|
|
|
+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 cores:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+\newpage
|
|
|
+3. Simulación con 4 cores:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Finalmente se nos pide calcular *latencia*[^footnote] y *throughtput*[^footnote2] en cada una de las
|
|
|
+pruebas, a lo cual elaboramos los siguientes cuadros:
|
|
|
+
|
|
|
+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:
|
|
|
+
|
|
|
+| 1 Core | 2 Core | 4 Cores |
|
|
|
+|--------|---------|---------|
|
|
|
+| 0.06 | 0.08 | 0.13 |
|
|
|
+
|
|
|
+
|
|
|
+[^footnote]: Latencia, Cantidad de ticks en ready hasta que se ejecuta la task.
|
|
|
+[^footnote2]: Throughtput, Cantidad de procesos que terminan su ejecución por unidad de tiempo.
|
|
|
+
|