Файл: 1. Планирование и диспетчеризация процессов и задач.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.12.2023
Просмотров: 45
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, система определяет значение приоритета сна. Когда процесс пробуждается, ядро устанавливает значение текущего приоритета процесса равным приоритету сна.
После завершения системного вызова перед возвращением в режим задачи, ядро восстанавливает
приоритет режима задачи, сохраненный перед выполнением системного вызова.
Для принятия решения о выборе следующего запускаемого процесса планировщику необходима информация об использовании процессора. Пока процесс выполняется в режиме задачи, его текущий приоритет линейно уменьшается.
Каждую секунду ядро пересчитывает текущие приоритеты порогового значения процессов, готовых к запуску, приоритеты которых меньше некоторого порогового значения, последовательно увеличивая их за счет последовательного уменьшения отрицательного компонента времени использования процессора. Как результат, эти действия приводят к перемещению процессов в более приоритетные очереди и повышению вероятности их последующего выполнения.
В операционных системах Windows диспетчер задач поддерживает 32 уровня приоритета. Задачи делятся на два класса: реального времени и переменного приоритета. Задачи реального времени, имеющие приоритеты от 16 до 31 — это высокоприоритетные потоки, используемые программами, критическими по времени выполнения. Для системных модулей, функционирующих в статусе задачи, зарезервирована очередь с номером 0. Большинство задач в системе относятся к классу переменного приоритета с уровнями приоритета от 1 до 15.
Диспетчер приостанавливает исполнение текущей задачи после того, как та израсходует свой квант времени. При этом если прерванная задача — это поток переменного приоритета, то диспетчер задач понижает приоритет этого потока выполнения на единицу. Таким образом, приоритет задачи постепенно понижается (до значения его базового приоритета). С другой стороны, диспетчер повышает приоритет задачи после ее освобождения из состояния ожидания.
После завершения системного вызова перед возвращением в режим задачи, ядро восстанавливает
приоритет режима задачи, сохраненный перед выполнением системного вызова.
Для принятия решения о выборе следующего запускаемого процесса планировщику необходима информация об использовании процессора. Пока процесс выполняется в режиме задачи, его текущий приоритет линейно уменьшается.
Каждую секунду ядро пересчитывает текущие приоритеты порогового значения процессов, готовых к запуску, приоритеты которых меньше некоторого порогового значения, последовательно увеличивая их за счет последовательного уменьшения отрицательного компонента времени использования процессора. Как результат, эти действия приводят к перемещению процессов в более приоритетные очереди и повышению вероятности их последующего выполнения.
В операционных системах Windows диспетчер задач поддерживает 32 уровня приоритета. Задачи делятся на два класса: реального времени и переменного приоритета. Задачи реального времени, имеющие приоритеты от 16 до 31 — это высокоприоритетные потоки, используемые программами, критическими по времени выполнения. Для системных модулей, функционирующих в статусе задачи, зарезервирована очередь с номером 0. Большинство задач в системе относятся к классу переменного приоритета с уровнями приоритета от 1 до 15.
Диспетчер приостанавливает исполнение текущей задачи после того, как та израсходует свой квант времени. При этом если прерванная задача — это поток переменного приоритета, то диспетчер задач понижает приоритет этого потока выполнения на единицу. Таким образом, приоритет задачи постепенно понижается (до значения его базового приоритета). С другой стороны, диспетчер повышает приоритет задачи после ее освобождения из состояния ожидания.