El tiempo restante más corto , también conocido como el tiempo restante más corto primero (SRTF) , es un método de programación que es una versión preventiva de la programación del siguiente trabajo más corto . En este algoritmo de programación, se selecciona para ejecutar el proceso con la menor cantidad de tiempo restante hasta su finalización. Dado que el proceso que se está ejecutando actualmente es el que tiene la menor cantidad de tiempo restante por definición, y dado que ese tiempo solo debe reducirse a medida que avanza la ejecución, el proceso se ejecutará hasta que se complete o se interrumpirá si se agrega un nuevo proceso que requiere una cantidad de tiempo menor.
El tiempo restante más corto es ventajoso porque los procesos cortos se manejan muy rápidamente. El sistema también requiere muy poca sobrecarga, ya que solo toma una decisión cuando se completa un proceso o se agrega un nuevo proceso, y cuando se agrega un nuevo proceso, el algoritmo solo necesita comparar el proceso que se está ejecutando actualmente con el nuevo proceso, ignorando todos los demás procesos que están esperando para ejecutarse.
Al igual que el trabajo más corto siguiente , tiene el potencial de inanición del proceso : los procesos largos pueden retrasarse indefinidamente si se agregan continuamente procesos cortos. [1] Esta amenaza puede ser mínima cuando los tiempos de proceso siguen una distribución de cola pesada . [2] Un algoritmo similar que evita la inanición a costa de una mayor sobrecarga de seguimiento es el de mayor relación de respuesta siguiente (HRRN).
Al igual que la programación del trabajo siguiente más corto, la programación del tiempo restante más corto rara vez se utiliza fuera de entornos especializados porque requiere estimaciones precisas del tiempo de ejecución de cada proceso.