Turnaround time

De Departamento de Informatica
Revisión a fecha de 19:23 14 sep 2012; Asazo (Discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

El turnaround time o tiempo de ejecución es un concepto de sistemas operativos referido al tiempo que demora la ejecución de un proceso. Este intervalo considera desde el tiempo en que se ordena la ejecución del proceso hasta el instante en que se completa. Básicamente es la suma de los períodos de tiempo que el proceso usa esperando ser asignado a la memoria, esperando en la cola ready, ejecutándose en la CPU y haciendo operaciones de entrada/salida.

Contenido

Tiempos y cargas de trabajo

La siguiente tabla muestra cómo varían estas mediciones según el algoritmo de itineración implementado. En especial se observa que ningún algoritmo ofrece un turnaround time bajo.

Algoritmo de itineración Uso de CPU Throughput Turnaround time Response time
First In First Served Bajo Bajo Alto Bajo
Shortest Job First Medio Alto Medio Medio
Priority based scheduling Medio bajo Alto Alto
Round-robin Alto Medio Medio Alto
Multilevel Queue scheduling Alto Alto Medio Medio

Método para determinar el turnaround time

Básicamente para determinar el turnaround time se deben ordenar los procesos según algun algoritmo de itineración y sumar los tiempos que tarda en usar la CPU y en realizar entrada/salida, denominado como tiempo de ráfaga o burst time. Los procesos usan ciclos de CPU y ciclos de I/O, alternándose entre estos. Los pasos a seguir son los siguientes:

  • Reconocer el algoritmo de itineración en el cual se encolan los procesos.
  • Hacer una carta Gantt que muestre los procesos y sus burst times.
  • Calcular recursivamente para el proceso deseado los tiempos de ejecución según los procesos que son ejecutados antes.
  • Sumar dichos tiempos.

La creación de la carta Gantt depende del algoritmo de itineración que se use. El algoritmo de itineración más simple es el denominado First-Come, First Served o FSCS y que simplemente, implementado como una cola (FIFO), hace que el proceso que primero requirió CPU sea asignado primero y la carta gantt tendrá los procesos ordenados según esta misma estructura. El algoritmo Shortest-Job-First o SBJ encola los procesos según el burst time, por lo que la carta Gantt se crea entorno a éste parámetro.

El siguiente ejemplo pretende clarificar el algoritmo. Supóngase que se tienen 5 procesos en una cola con algoritmo FSCS, enumerados desde p0 hasta p5 con sus respectivos tiempos de ráfagas de CPU (tiempo de partida menos tiempo de fin) T(p0), ..., T(p4). Se desea saber el turnaround time del proceso p3, ¿cómo calcularlo?.

Procesos y sus burst time
Proceso Tiempo de ráfaga (en ms)
p0 80
p1 20
p2 15
p3 20
p4 75

La tabla anterior muestra los procesos y los tiempos de ráfaga asociados a cada uno de ellos. Como se desea saber el turnaround time para p3 (desde ahora TA(p3)) se deben calcular los turnaround de los procesos que deben ser despachados primeros que éste, vale decir p0, p1 y p2.

Primero se construye la carta Gantt con los tiempos de ráfaga de cada proceso considerando la estructura FIFO, vale decir, si el primer proceso tarda 80 ms y llega el segundo proceso, este último debe esperar los 80 ms de ejecución de p0, por lo que el segundo proceso comienza a ejecutarse a los 80 ms. Como en la tabla p1 se estima en 20 ms, entonces al ejecutarse ya habrán pasado en total 100 ms = 80 ms + 20 ms.

Carta Gantt
p0 p1 p2 p3 p4
0- 80 ms 80 - 100 ms 100 - 115 ms 115 - 135 ms 135 - 210 ms

Ahora, TA(p3) se calcula como la suma de lo que demora por si solo p3 mas TA(p2):

\begin{align}
 TA(p_3) &{}= T(p_3) + TA(p_2) \\
  &{}= T(p_3) + (T(p_2) + TA(p_1)) \\
  &{}= T(p_3) + (T(p_2) + T(p_1) + TA(p_0)) \\
  &{}= T(p_3) + T(p_2) + T(p_1) + T(p_0) \\
  &{}= 20 + 15 + 20 + 80 \\
  &{}= 135 \,ms
\end{align}

Si la cola del ejemplo anterior hubiera sido SJF, entonces habría que observar los burst times, quedando la carta Gantt así:

Carta Gantt
p2 p1 p3 p4 p0
0- 15 ms 15 - 35 ms 35 - 55 ms 55 - 130 ms 130 - 210 ms

En este caso el turnaround time de p3 es 55 ms.

Referencias

Véase también

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas