Вытесняющая многозадачность (preemptive multitasking)
Вытесняющая многозадачность (preemptive multitasking)
NT позволяет нескольким единицам исполнения - потокам - выполняться одновременно, быстро переключаясь между ними. Такое поведение называется многозадачностью (multitasking).
Каждому потоку на исполнение выделяется квант времени процессора. По истечении этого времени операционная система насильственно отдаст время процессора другому потоку (говорят, что поток будет вытеснен). Такое поведение называется вытесняющей многозадачностью (в отличие от невытесняющей многозадачности, когда поток сам должен освободить процессор).
Необходимо определить еще два термина: диспетчеризация и планирование.
Диспетчеризация (dispatching) - механизм переключения с одного потока исполнения на другой.
Планирование (sheduling) — механизм определения потока, который должен выполняться следующим на текущем процессоре.
Таким образом, по истечении кванта времени некоторого потока на основе механизма планирования осуществляется выбор следующего потока для исполнения, а на основе механизма диспетчеризации происходит переключение на этот поток.
Каждый поток имеет также приоритет, называемый приоритетом планирования, что подчеркивает его важность при выборе для исполнения очередного потока.