Введение
Алгоритм планирования с наименьшим оставшимся временем, также известный как кратчайшее оставшееся время первым (SRTF), является методом планирования, представляющим собой вытесняющую версию алгоритма планирования с наименьшей задачей. В этом алгоритме планирования выбирается процесс с наименьшим временем, оставшимся до завершения, для выполнения. Поскольку текущий выполняемый процесс по определению имеет наименьшее оставшееся время, а это время должно только уменьшаться по мере выполнения, процесс либо завершится, либо будет прерван, если будет добавлен новый процесс, требующий меньшего времени. Планирование с наименьшим оставшимся временем выгодно, поскольку короткие процессы обрабатываются очень быстро. Система также требует минимальных накладных расходов, поскольку принимает решение только при завершении процесса или добавлении нового процесса, а при добавлении нового процесса алгоритму необходимо только сравнить текущий выполняемый процесс с новым процессом, игнорируя все остальные процессы, ожидающие выполнения. Как и в случае с планированием с наименьшей задачей, существует вероятность "голодания" процессов: длительные процессы могут быть отложены на неопределенный срок, если постоянно добавляются короткие процессы. Эта угроза может быть сведена к минимуму, если время выполнения процессов следует тяжелому распределению с "тяжелым хвостом". Альтернативный алгоритм, который позволяет избежать "голодания" за счет увеличения накладных расходов на отслеживание, – это алгоритм с наивысшим коэффициентом отклика (HRRN).
Shortest remaining time, also known as shortest remaining time first (SRTF), is a scheduling method that is a preemptive version of shortest job next scheduling. In this scheduling algorithm, the process with the smallest amount of time remaining until completion is selected to execute. Since the currently executing process is the one with the shortest amount of time remaining by definition, and since that time should only reduce as execution progresses, the process will either run until it completes or get pre empted if a new process is added that requires a smaller amount of time. Shortest remaining time is advantageous because short processes are handled very quickly. The system also requires very little overhead since it only makes a decision when a process completes or a new process is added, and when a new process is added the algorithm only needs to compare the currently executing process with the new process, ignoring all other processes currently waiting to execute. Like shortest job next, it has the potential for process starvation: long processes may be held off indefinitely if short processes are continually added. This threat can be minimal when process times follow a heavy tailed distribution. A similar algorithm which avoids starvation at the cost of higher tracking overhead is highest response ratio next (HRRN).
Ограничения
Как и планирование задач с наименьшим временем выполнения, планирование задач с наименьшим оставшимся временем выполнения редко используется вне специализированных сред, поскольку требует точной оценки времени работы каждого процесса.