31
с их приоритетами. Формирует очередь диспетчер задач. Процессор в первую
очередь предоставляется задаче с более высоким приоритетом, и только если
ее потребности удовлетворены или она попала в состояние ожидания,
диспетчер может предоставить его следующей задаче. Основная идея
карусельной дисциплины обслуживания и механизм приоритетов по-разному
используются в различных дисциплинах обслуживания.
Бывают ситуации, когда ОС не поддерживает в явном виде дисциплину
RR. Например, в некоторых системах реального времени используется
диспетчер задач, работающий по принципу абсолютных приоритетов
(процессор предоставляется задаче с максимальным приоритетом, а при
равенстве приоритетов он действует по принципу очередности). Т.о.
причиной снятия задачи с выполнения может быть только появление задачи с
более высоким приоритетом. В своей простейшей реализации дисциплина RR
предполагает, что все задачи имеют одинаковый приоритет. Если же
необходимо ввести механизм приоритетного обслуживания, то это делается за
счет организации нескольких очередей. Процессорное время предоставляется
дисциплинам, которые стоят в самой привилегированной очереди. Если она
пустая, то диспетчер задач начинает посматривать остальные очереди.
Именно по такому алгоритму действует диспетчер задач в ОС OS/2, Windows
9x, Windows NT/2000/XP и многих других. Отличия заключаются в
количестве очередей и правилах перемещения задач из одной очереди в
другую.
Известные дисциплины диспетчеризации могут применять или не
применять еще одно правило, касающееся перераспределения процессорного
времени между выполняющимися задачами.
Диспетчеризация без
перераспределения процессорного времени, т.е.
невытесняющая (non-
preemptive multitasking) или
кооперативная многозадачность – это такой
способ диспетчеризации задач, при котором активная задача выполняется до
тех пор, пока она сама «по собственной инициативе» не отдаст управление
диспетчеру задач для того, чтобы он выбрал из очереди другой, готовый к
выполнению поток или процесс. Это – дисциплины FCFS, SJN, SRT.
Есть дисциплины, в которых процессор может быть принудительно
отобран у текущей задачи. Такие дисциплины называются
вытесняющими,
поскольку
одна
задача
вытесняется
другой.
Диспетчеризация
с
перераспределением процессорного времени между задачами, т.е.
Достарыңызбен бөлісу: