планируется так, что он обслуживает непустую очередь с наименьшим номером.
При этом методе вновь поступивший процесс неявно получает высокий приоритет и выполняется
подряд в течение стольких квантов времени, сколько успеет пройти до прихода следующего процесса,
но не больше, чем успел проработать предыдущий. Это правило обеспечивает лучше, чем круговорот,
обслуживание коротких процессов, не требуя предварительной информации о времени выполнения.
Однако работа с несколькими очередями может повлечь большие издержки времени в начальный
период, особенно если величина кванта мала.
При стратегии очереди с обратной связью пользователи могут извлечь для себя некоторую выгоду,
разбивая свои задания на короткие процессы. Каждый из них будет обслуживаться с большим
приоритетом, как вновь поступивший короткий процесс. Общее время обслуживания всех частей будет
значительно лучше, чем если представить задание в виде одного длинного процесса, который будет
переходить в очередь с более низким приоритетом и выполняться только при освобождении
предыдущих очередей.
Основное преимущество очередей с обратной связью и круговорота по сравнению с обслуживанием
по наивысшему приоритету состоит в том, что первые два метода позволяют хорошо обслуживать
короткие задания, не требуя предварительной информации о времени выполнения процесса. С другой
стороны, в тех случаях, когда приоритет вычисляется как функция от ресурсов, выделяемых процессу,
часто желательно отдать предпочтение процессам с высоким приоритетом, чтобы увеличить
загруженность ресурсов.
В большинстве систем процессоры взаимодействуют посредством прерываний. В центральном
процессоре прерывание происходит, когда истекает установленный в системе квант времени или когда
закончит работу канал, или когда выполняемой программе необходим ввод - вывод. Когда происходит
прерывание, центральный процессор передается супервизору системы. Супервизор выполняет
некоторые действия, такие, как запуск канала, разблокирование или создание нового процесса, а затем
возвращает процессор готовому процессу из очереди. Так как прерывания происходят часто, невыгодно
выполнять очень много команд каждый раз при предоставлении процессора очередному готовому
процессу. Однако важно сохранить информацию, касающуюся текущего состояния процессора, а также
выполнить некоторые вычисления, связанные с приоритетом и величиной кванта. Следовательно, одна
из задач заключается в том, чтобы придумать такой метод работы с очередью готовых процессов, для
которого эти вычисления нужно было бы делать лишь изредка.
Метод многоуровневого планирования. Принцип, лежащий в основе метода, состоит в том, что
операции, которые встречаются часто, должны занимать меньше времени, чем те, которые встречаются
редко. Этот принцип особенно удобен в применении к алгоритмам планирования, где операции
разбиваются на уровни в зависимости от частоты выполнения.
Метод многоуровневого планирования реализуется как система, состоящая из трех уровней:
диспетчера, краткосрочного и долгосрочного планировщика. Диспетчер вызывается после того, как
обработка прерывания завершена. Он выбирает следующий подлежащий выполнению процесс из
очереди готовых процессов. Диспетчер работает очень часто, поэтому сам он должен быть очень
коротким. Его задача – только взять первый процесс из очереди и предоставить ему процессор.
Краткосрочный планировщик вызывается, чтобы вставить готовый процесс в очередь; хотя этому
планировщику приходится, быть может, анализировать состояние процесса, уточнения приоритета на
этом уровне должны быть сведены к минимуму. Процессы ставятся в очередь часто, возможно каждые
несколько миллисекунд. Поэтому внесение любых сложных изменений в состояние процесса следует
оставить долгосрочному планировщику. Долгосрочная корректировка, которая делается не так часто,
может быть более сложной. Для вычисления нового приоритета может использоваться информация о
состоянии процесса, например о предоставленных ему ресурсах. Так как долгосрочный планировщик
вызывается только раз в несколько секунд, то допустимо потратить на его работу несколько
миллисекунд.
Преимущество такой многоуровневой организации состоит в том, что она локализует издержки
времени, связанные с планированием. Если приблизительная частота вызовов каждого уровня известна
заранее, то ограничения на допустимый объем вычислений на каждом уровне тоже можно указать
заранее. Всякий предполагаемый алгоритм планирования должен удовлетворять временным
ограничениям на каждом уровне.
Организация вычислительного процесса на мини-ЭВМ. Применение мини-ЭВМ в АСУ имеет
свои преимущества и свои недостатки. Системное программное обеспечение, имеющее направленность