Стратегии выбора процесса

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

Наиболее простой стратегией выбора является циклическийме­тод — процессы выбираются последовательно один за другим в фиксированном порядке и через равные интервалы времени. Основное достоинство метода — про­стота, однако, поскольку процессам с различными требованиями выделяются равные ресурсы процессора, некоторые из них обслуживаются неадекватно своим потребностям.

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

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

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

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








Дата добавления: 2016-02-09; просмотров: 630;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.