2-informe.md 2.4 KB

\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:

Ejercicio 2 - 1 Core

  1. Simulación con 2 cores:

Ejercicio 2 - 2 Cores

\newpage

  1. Simulación con 4 cores:

Ejercicio 2 - 4 Cores

Finalmente se nos pide calcular latencia[^ej2footnote] y throughtput[^ej2footnote2] 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 9 2 2
2 TaskConsola 32 8 2
3 TaskCPU 52 27 2
Promedio 27.5 14.25 6.75

B. Throughtput:

1 Core 2 Core 4 Cores
0.06 0.08 0.13

[^ej2footnote]: Latencia, Cantidad de ticks en ready hasta que se ejecuta la task. [^ej2footnote2]: Throughtput, Cantidad de procesos que terminan su ejecución por unidad de tiempo.