рассматривается как срочная. Для этой задачи все нужные ей свободные и освобождающиеся ресурсы
резервируются до тех пор, пока она не будет обслужена. Можно использовать другую стратегию
приоритетов, когда каждой задаче присваивается класс в зависимости от требуемой памяти. До 100
Кбайт - класс А, до 200 - класс В и более 200 - класс С. Задача поступает в очередь соответствующего
класса на место, определяемое приоритетом. При освобождении ресурсов просматриваются очереди по
каждому классу, а внутри очереди задачи просматриваются в порядке приоритета.
Одна из важных задач планирования состоит в том, чтобы обеспечить занятрсть внешних устройств.
С этой целью процессам можно присваивать высокий приоритет в периоды, когда они интенсивно
используют ввод – вывод.
Количество различных правил вычисления приоритета практически не ограничено. Несмотря на то
что стратегия приносит желаемый результат, обеспечивая большинству процессов хорошее
обслуживание, она дает и побочный эффект: долгое ожидание процессов с низким приоритетом. В
некоторых системах это неприемлемо. Например, в системах с разделением времени пользователю
гораздо удобнее получить по 1 с машинного времени каждые 5 с, чем 12-минутный интервал каждый
час. Метод наивысшего приоритета не может обеспечить такой вид обслуживания.
Метод круговорота. Простой круговорот не использует никакой статической или динамической
информации о приоритетах. Первый процесс из очереди готовых процессов получает квант времени
длиной в q секунд, а затем отправляется снова в конец очереди, если только он себя не заблокирует.
Если в очереди имеется К процессов, то каждый процесс получает q секунд из каждых Kq секунд
процессорного времени. Следовательно, каждый процесс как бы выполняется процессором, скорость
которого равна 1/К скорости физического процессора. Поэтому длина очереди – это важный параметр,
определяющий быстроту продвижения процессов.
Величина кванта q определяет, насколько равномерно распределено время процессора по коротким
периодам. С уменьшением q улучшается обслуживание более коротких процессов. Когда q мало, все
готовые процессы обслуживаются одинаково и время ожидания прямо пропорционально объему
требуемых услуг. Однако можно выбрать q слишком малым. Для квантов "разумной" величины можно
пренебречь временем, необходимым для переключения процессора с одного процесса на другой. Если
величина q того же порядка, что и время переключения, то задержка при переключении становится
заметной. В самом деле, если время q слишком мало, то система может потратить время на
переключение большее, чем на их выполнение.
Метод круговорота часто применяют в системах с разделением времени, рассчитанных на большое
число пользователей. Такие системы должны гарантировать каждому процессу приемлемое время
ответа. Иначе говоря, пользователи ожидают, что независимо от величины кванта их будут обслуживать
по меньшей мере один раз каждые несколько секунд. Если q постоянно и в очереди К процессов, то
время ответа приблизительно равно Kq. Для больших К это может быть слишком долго. Определенное
время ответа можно гарантировать, если применить круговорот, ориентированный на цикл. Время
цикла выбирается для очереди готовых процессов равным максимально достижимому времени ответа.
Величина кванта вычисляется в начале каждого круга прохождения очереди. Процессы, вновь
поступающие во время цикла, задерживаются до окончания цикла, прежде чем будут поставлены в
очередь. Если очередь слишком длинная, то потери на переключение могут быть заметными, так как q
будет совсем маленьким. Эту проблему можно урегулировать, задав минимальную величину кванта.
При сильной загрузке системы пострадает время ответа, но, по крайней мере, издержки на
переключение останутся на низком уровне.
Имея несколько очередей готовых процессов, система может извлечь выгоду из характера
распределения времен работы. Процессор тратит большую часть своего времени на выполнение
процессов из ведущей очереди, обеспечивая таким образом отличное обслуживание коротких
процессов. В одном из алгоритмов, ориентированных на цикл, процессам из ведущей очереди
предоставляется фиксированный квант времени. Если после того, как проработали все процессы
ведущей очереди, до конца цикла еще остается время, то оно используется для выполнения фоновых
процессов. Такую систему с двумя очередями можно обобщить до многоуровневого метода очередей с
обратной связью.
Метод очередей с обратной связью. В основном алгоритме используется несколько очередей,
каждая из которых обслуживается в порядке поступления. Новый процесс, входя в систему, попадает в
первую очередь. После получения одного кванта он поступает во вторую очередь. После получения
каждого последующего кванта он переходит в очередь со следующим номером. Время процессора