Важная концепция, лежащая в основе многих
вытесняющих алгоритмов — это приоритетное обслуживание.
Такие алгоритмы используют информацию,
находящуюся в описателе потока — его приоритет.
В разных системах приоритет определяется по-разному.
В одних системах наивысшим значением приоритета
может считаться его численно наибольшее значение
в других наоборот, наивысшим приоритетом считается нулевой.
Как правило, приоритет потока
непосредственно связан с приоритетом процесса,
в рамках которого выполняется данный поток.
Приоритет процесса назначается операционной системой
при его создании, при этом учитывается,
является ли процесс системным или прикладным,
каков статус пользователя, запустившего процесс,
было ли явное указание пользователя
на присвоение процессу определенного приоритета.
Если поток инициирован не по команде пользователя,
а в результате выполнения системного вызова другим потоком,
тогда для назначения ему приоритета
операционная система должна учитывать параметры
системного вызова.
При планировании обслуживания программ
согласно описанным ранее алгоритмам
может возникнуть ситуация, когда некоторые задачи
контроля или управления не смогут быть реализованы
в течение длительного промежутка времени
из-за возрастания нагрузки в системе.
При этом последствия из-за несвоевременного выполнения
таких задач могут быть серьезнее,
чем из-за невыполнения каких-то программ
с более высоким приоритетом.
В таком случае было бы целесообразно
временно изменить приоритет "аварийных" задач,
у которых истекает отпущенное для них время обработки,
а после выполнения восстановить прежнее значение.
Введение механизмов динамического
изменения приоритетов позволяет реализовать
более быструю реакцию системы на короткие запросы,
что важно при интерактивной работе,
но при этом гарантировать выполнение любых запросов.
Таким образом, приоритет может быть статическим
(фиксированным) или динамическим (изменяющимся
системой в зависимости от ситуации в ней).
Так называемый базовый приоритет потока
непосредственно зависит от базового приоритета процесса,
его породившего.
В некоторых случаях система может повышать
приоритет потока в различной степени,
например, если квант отведенного ему
процессорного времени не был использован полностью,
или понижать приоритет в противном случае.
Например, операционная система повышает приоритет
в большей степени потокам, ожидающим
ввода с клавиатуры, и в меньшей степени потокам,
выполняющим операции с диском.