Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория вычислительных процессов (1).doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
9.39 Mб
Скачать

Методы планирования мультипрограммных систем.

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

  • Возвращается в очередь готовых процессов.

  • Выходит из системы.

  • Направляется в очередь заблокированных процессов.

Алгоритм планирования для такой системы состоит в:

  1. Выборе процесса из совокупности готовых процессов.

  1. Способе вычисления кванта времени для этого процесса.

В большинстве систем реализовано планирование через приоритет, оно заключается в сопоставлении каждому процессу из смеси готовых процессов, целого числа называемого приоритетом. В вычислении его(приоритета) производится на основании как статических так и динамических характеристик, к статической части приоритета относится такие характеристики как количество занимаемой памяти, ожидаемое время выполнения, ожидаемый объем операций ввода–вывода, к динамической части относится такие характеристики как: ресурсы находящиеся в распоряжении процессора на данный момент, общее время ожидания, общее количество процессорного времени использованного в данном моменте, общее время в системе на данный момент, объем процессорного времени полученного процессом в последний раз когда тот выполнялся и объем последний операции ввода–вывода.

16.10.12. Лекция номер 10. Продолжение темы диспетчирезаии.

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

  1. Хорошая загружаемость ресурсов.

  1. Малое время простоя.

  1. Разумная время ожидания для заданий пользователя.

  1. Высокая пропускная способность.

Не всегда существенное улучшение одной из характеристик приводит к нужному результату как так очень часто рассматриваемые характеристики взаимосвязанны.

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

Существует три основных класса алгоритмов планирования:

  1. Планирование по наивысшему приоритету.

  1. Круговорот.

  1. Планирование с обратной связью.

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

Рассмотрим эти классы:

Планирование по наивысшему приоритету. Метод состоит в том что процессор предоставляется тому процессу, который имеет наивысший приоритет, такой процесс в системе помечается флагом "highest priority level". Дальнейшие дествия зависят от вида системы: применяется в ней вытеснения или нет. Если вытеснения не применяется, то процесс получивший данный флаг получает процессор сразу после того как его освободит предыдущий процесс. Если в системе применяется вытеснеие то при появлении в системе высоко приоритетного процесса, выполнение текущего процесса прерывается и процессор отдается вновь прибывшему процессу, дальнейшие действия зависят от алгоритма принятого в конкретной системе. Возможные варианты:

  1. Если в системе не появилось более высоко приоритетного процесса, процессор после завершения работы будет отдан тому процессу выполнение которого было прервана.

  1. Планировщик производит пересчет динамического приоритета и по новому выстраивает очередь.

  1. Если в системе имеется несколько прервавших выполнения процессов

Круговорот:

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

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

Разновидности круговоротов:

  1. Круговорот со смещением. Каждому процессу предоставляется квант времени величина которого зависит от внешнего приоритета процессора.

  1. "эгоистический круговорот" при этом процесс входя в систему намеренно ожидает когда его приоритет возрастет и после этого в круговороте отправляется сразу на исполнение.

  1. Круговорот использования очередей. Wqewqw