Español
Electrónica industrial

tiempo de espera

Inglés: waiting time

La cantidad total de tiempo que un proceso pasa en una cola de espera antes de llegar a la CPU.

tiempo de espera: retraso en la cola antes de la ejecución de la CPU

En un sistema operativo multitarea, el tiempo de espera es el intervalo entre el momento en que un proceso entra en la cola de listos y el momento en que el planificador de la CPU le asigna ciclos de procesador. Durante este período, el proceso está preparado para ejecutarse, su contexto está cargado en la memoria y sus instrucciones están disponibles, pero la CPU está ocupada ejecutando otro trabajo. Esto es distinto del tiempo de ejecución, que es el tiempo que el proceso realmente pasa en la CPU.

El tiempo de espera se acumula en sistemas donde muchos procesos compiten por una única CPU o un número limitado de núcleos. En el procesamiento por lotes, un trabajo puede esperar horas en la cola antes de que el planificador lo recoja. En los sistemas de tiempo real, el tiempo de espera es una restricción crítica: un proceso crítico para la seguridad no debe esperar tanto como para perder su plazo. En los sistemas interactivos, un tiempo de espera excesivo provoca un retraso visible o falta de respuesta desde la perspectiva del usuario.

Medición e impacto de la planificación

El tiempo de espera se mide en milisegundos, segundos o ciclos de CPU, dependiendo del contexto. El tiempo de espera promedio en todos los procesos es una métrica clave de rendimiento para evaluar los algoritmos de planificación. Diferentes planificadores producen diferentes tiempos de espera: Primero en Entrar, Primero en Salir (FCCS) produce tiempos de espera promedio largos cuando trabajos cortos se ponen en cola detrás de trabajos largos, mientras que algoritmos como el Trabajo Más Corto Primero (SJF) o Round Robin minimizan la espera priorizando el trabajo corto o rotando equitativamente entre los contendientes.

El tiempo de espera no es causado por retrasos de E/S, fallos de página o llamadas al sistema (estos se denominan típicamente tiempo de bloqueo o tiempo de inactividad). Surge puramente de la arbitraje del planificador. En sistemas multiprocesador, el tiempo de espera puede reducirse teniendo núcleos inactivos disponibles o mediante el equilibrio de carga entre los núcleos. En sistemas con niveles de prioridad de hilos, los hilos de alta prioridad experimentan tiempos de espera más cortos que los de baja prioridad.

Los diseñadores de sistemas monitorean el tiempo de espera utilizando perfiladores de kernel y herramientas de rastreo. Un tiempo de espera excesivo indica una sobrecarga de la CPU, una mala sintonización del planificador o que a los procesos se les asigna una clase de prioridad incorrecta. En sistemas embebidos de tiempo real estricto, el tiempo de espera se predice y se limita durante el diseño; violar ese límite es un fallo.

Fuentes

Entrada IG788415/09/2013

Más de Electrónica industrial

Ver todo

Reciba la palabra del día

Un término industrial cada día, con el oficio al que pertenece y por qué vale la pena conocerlo. Sin publicidad.