|
|
@@ -20,13 +20,13 @@ geometry: margin=2cm
|
|
|
|
|
|
\newpage
|
|
|
|
|
|
-# Ejercicio 1
|
|
|
+Ejercicio 1
|
|
|
====
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
-# Ejercicio 2
|
|
|
+Ejercicio 2
|
|
|
====
|
|
|
|
|
|

|
|
|
@@ -34,21 +34,22 @@ geometry: margin=2cm
|
|
|

|
|
|
|
|
|
|
|
|
-# Ejercicio 3
|
|
|
+Ejercicio 3
|
|
|
====
|
|
|

|
|
|
|
|
|
|
|
|
-# Ejercicio 4
|
|
|
+Ejercicio 4
|
|
|
====
|
|
|
|
|
|
Para el ejercicio 4 se ejecutaron 3 casos distintos con 1, 2 y 4 cores para evaluar como escala la eficiencia del mismo en dichos casos.
|
|
|
Se utilizaron los siguientes valores:
|
|
|
- * __Quantum:__ ?????
|
|
|
- * __Context Switch:__ ???
|
|
|
- * __Core Switch:__ ???
|
|
|
|
|
|
-## 1 Core
|
|
|
+* __Quantum:__ ?????
|
|
|
+* __Context Switch:__ ???
|
|
|
+* __Core Switch:__ ???
|
|
|
+
|
|
|
+# 1 Core
|
|
|

|
|
|
Se puede observar que el tener quantums muy chicos afecta negativamente el rendimiento del scheduler, ya que se pierde la mayoría del tiempo en context switch.
|
|
|
|
|
|
@@ -62,7 +63,7 @@ Se ve que aumentar la cantidad de cores no mejora los tiempos de ejecución de l
|
|
|
Esto se debe a que este scheduler toma el primer nucleo libre y tiene en cuenta en que nucleo se encuentra el proceso actual. Esto provoca que haya cambio de nucleos constantemente en los procesos, sin aprovechar los cores libres.
|
|
|
|
|
|
|
|
|
-# Ejercicio 5
|
|
|
+Ejercicio 5
|
|
|
====
|
|
|
|
|
|
## Quantum 2
|
|
|
@@ -83,7 +84,7 @@ Esto se debe a que este scheduler toma el primer nucleo libre y tiene en cuenta
|
|
|
|
|
|
|
|
|
|
|
|
-#### Definiciones
|
|
|
+Definiciones
|
|
|
====
|
|
|
|
|
|
Latencia: Cantidad de ticks en ready hasta que se ejecuta la primera task. Esta métrica se puede extender
|
|
|
@@ -101,6 +102,7 @@ Tiempo total de ejecución: Intervalo de ticks desde que se ejecuta un proceso h
|
|
|
|
|
|
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.
|