title: Trabajo Práctico 1 - Scheduling author:
\newpage
\hypersetup{ colorlinks, linkcolor=black } \tableofcontents
\newpage
Para el primer ejercicio de este trabajo práctico se nos pide implementar TaskConsola, una simulación
de una tarea interativa que debe realizar llamadas bloquantes de duración aleatoria y luego de esto consumir
un ciclo de cpu. Dicha tarea se contruye a partir de 3 parámetros n, bmin y bmax ,
donde el primero determina la cantidad de llamadas de bloqueantes a realizar y luego
bmin y bmax determinan el rango de la duración de cada la llamada bloqueante.
La implementación de TaskConsola es bastante sencilla, se generan n iteraciones, donde
en cada una de ellas se genera una llamada bloqueante con una duración de x ciclos de reloj y
un ciclo de ejecución de cpu. Para determinar x utilizamos la siguiente fórmula:
x = rand() % ( bmax - bmin + 1 ) + bmin
Para probar y generar el gráfico de Gantt de la implementación realizada utilizamos el siguiente lote
de tareas del tipo TaskConsola:
| Task | Release Time | n | bmin | bmax |
|---|---|---|---|---|
| 0 | 3 | 5 | 1 | 3 |
| 1 | 5 | 2 | 4 | 8 |
| 2 | 5 | 2 | 4 | 8 |
El el gráfico se puede observar que las llamadas bloqueantes se mantienen dentro de los rangos establecidos por los parámtetros de las tareas.