# Ejercicio 8 A continuación se muestran los diferentes casos de prueba realizados para comparar los diferentes tipos de schedulers. Se eligieron los siguientes casos de prueba ya que creemos que son los casos que más se acercan a la realidad: * __Uso intensivo CPU:__ Para simular casos de, por ejemplo, procesamiento de imágen o video. * __Uso intensivo IO:__ Para simular situaciones en las que se lea mucha información del disco continuamente (como falta de memoria RAM). * __Picos esporádicos CPU con IO:__ Para simular casos de uso normal de usuario. ### Uso intensivo CPU #### Single core ![](informe/imagenes/caso_cpu_1_1.png) Caso "básico" con 12 taskCPU, 1 core, context switch de 2 ticks, podemos observar que FCFS, RSJF y SJF se comportan de manera *muy* similar. En cambio, RR tiene una latencia *mucho* menor (~la mitad), pero por la naturaleza de este scheduler el mean turnaround time es mucho más alto (~7x). ![](informe/imagenes/caso_cpu_1_2.png) A diferencia del caso anterior, el context switch en esta prueba cuesta *12* ticks. La única modificación que hicimos fue mantener la relación entre ticks de context switch y quantums ( (2,5) => (12,30) ) En éste caso se puede ver que todos los schedulers se comportan de manera similar. \newpage #### Multi core ![](informe/imagenes/caso_cpu_4_1.png) \newpage Caso "básico" con 12 taskCPU, 4 core, context switch de 2 ticks, podemos observar que FCFS y SJF se comportan de manera *muy* similar. RSJF: Reduce ligeramente la latencia comparado a SJF, pero el turnaroud es un *50% mayor*. RR: tiene una latencia *mucho* menor (~la mitad), pero por la naturaleza de este scheduler el mean turnaround time es mucho más alto (~2.5x). ![](informe/imagenes/caso_cpu_4_2.png) A diferencia del caso anterior, el context switch en esta prueba cuesta *12* ticks. La única modificación que hicimos fue mantener la relación entre ticks de context switch y quantums ( (2,5) => (12,30) ) En éste caso se puede ver que FCFS, RR y SJF se comportan de manera similar. RSJF: ????????? ### Uso intensivo IO #### Single core ![](informe/imagenes/caso_ioh_1_1.png) Idem a todo lo anterior, FCFS parece comportarse mejor que el resto ![](informe/imagenes/caso_ioh_1_2.png) Idem a todo lo anterior, FCFS parece comportarse mejor que el resto #### Multi core ![](informe/imagenes/caso_ioh_4_1.png) RR es DESTRUIDO por este caso. ![](informe/imagenes/caso_ioh_4_2.png) RR es COMPLETAMENTE DESTRUIDO por este caso. ### Picos esporádicos CPU con IO #### Single core ![](informe/imagenes/caso_cpuh_1_1.png) Al igual que los otros casos en 1 core, FCFS, RSJF y SJF se comportan de manera similar. RR: la latencia mejora un poco pero a cambio de 3x de turnaround ![](informe/imagenes/caso_cpuh_1_2.png) Idem #### Multi core ![](informe/imagenes/caso_cpuh_4_1.png) ![](informe/imagenes/caso_cpuh_4_2.png) ## Cuadro mágico Voy a ver como armar gráficos en python, pero en caso se emergencia "sudo apt install libreoffice-calc" \newpage