Файл: 1. Планирование и диспетчеризация процессов и задач.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 45

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, система определяет значение приоритета сна. Когда процесс пробуждается, ядро устанавливает значение текущего приоритета процесса равным приоритету сна.

После завершения системного вызова перед возвращением в режим задачи, ядро восстанавливает

приоритет режима задачи, сохраненный перед выполнением системного вызова.

Для принятия решения о выборе следующего запускаемого процесса планировщику необходима информация об использовании процессора. Пока процесс выполняется в режиме задачи, его текущий приоритет линейно уменьшается.

Каждую секунду ядро пересчитывает текущие приоритеты порогового значения процессов, готовых к запуску, приоритеты которых меньше некоторого порогового значения, последовательно увеличивая их за счет последовательного уменьшения отрицательного компонента времени использования процессора. Как результат, эти действия приводят к перемещению процессов в более приоритетные очереди и повышению вероятности их последующего выполнения.

В операционных системах Windows диспетчер задач поддерживает 32 уровня приоритета. Задачи делятся на два класса: реального времени и переменного приоритета. Задачи реального времени, имеющие приоритеты от 16 до 31 — это высокоприоритетные потоки, используемые программами, критическими по времени выполнения. Для системных модулей, функционирующих в статусе задачи, зарезервирована очередь с номером 0. Большинство задач в системе относятся к классу переменного приоритета с уровнями приоритета от 1 до 15.

Диспетчер приостанавливает исполнение текущей задачи после того, как та израсходует свой квант времени. При этом если прерванная задача — это поток переменного приоритета, то диспетчер задач понижает приоритет этого потока выполнения на единицу. Таким образом, приоритет задачи постепенно понижается (до значения его базового приоритета). С другой стороны, диспетчер повышает приоритет задачи после ее освобождения из состояния ожидания.