<<
>>

Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)

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

Для простоты рассмотрим ситуацию, когда процессы в состоянии готовность организованы в 4 очереди, как на рисунке 3.6. Планирование процессов между очередями осуществляется на основе вытесняющего приоритетного механизма. Чем выше на рисунке располагается очередь, тем выше ее приоритет. Процессы в очереди 1 не могут исполняться, если в очереди 0 есть хотя бы один процесс. Процессы в очереди 2 не будут выбраны для выполнения, пока есть хоть один процесс в очередях 0 и 1. И наконец, процесс в очереди 3 может получить процессор в свое распоряжение только тогда, когда очереди 0, 1 и 2 пусты. Если при работе процесса появляется другой процесс в какой-либо более приоритетной очереди, исполняющийся процесс вытесняется новым. Планирование процессов внутри очередей 0—2 осуществляется с использованием алгоритма RR, планирование процессов в очереди 3 основывается на алгоритме FCFS.

Родившийся процесс поступает в очередь 0. При выборе на исполнение он получает в свое распоряжение квант времени размером 8 единиц. Если продолжительность его CPU burst меньше этого кванта времени, процесс остается в очереди 0. В противном случае он переходит в очередь 1. Для процессов из очереди 1 квант времени имеет величину 16. Если процесс не укладывается в это время, он переходит в очередь 2. Если укладывается — остается в очереди 1. В очереди 2 величина кванта времени составляет 32 единицы. Если для непрерывной работы процесса и этого мало, процесс поступает в очередь 3, для которой квантование времени не применяется и, при отсутствии, готовых процессов в других очередях, может исполняться до окончания своего CPU burst. Чем больше значение продолжительности CPU burst, тем в менее приоритетную очередь попадает процесс, но тем на большее процессорное время он может рассчитывать. Таким образом, через некоторое время все процессы, требующие малого времени работы процессора, окажутся размещенными в высокоприоритетных очередях, а все процессы, требующие большого счета и с низкими запросами к времени отклика, — в низкоприоритетных.

Миграция процессов в обратном направлении может осуществляться по различным принципам. Например, после завершения ожидания ввода с клавиатуры процессы из очередей 1, 2 и 3 могут помещаться в очередь 0, после завершения дисковых операций ввода-вывода процессы из очередей 2 и 3 могут помещаться в очередь 1, а после завершения ожидания всех других

Рис. 3.6. Схема миграции процессов в многоуровневых очередях планирования с обратной связью. Вытеснение процессов более приоритетными процессами и завершение процессов на схеме не показано


событий — из очереди 3 в очередь 2. Перемещение процессов из очередей с низкими приоритетами в очереди с высокими приоритетами позволяет более полно учитывать изменение поведения процессов с течением времени.

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

• Количество очередей для процессов, находящихся в состоянии

готовность.

• Алгоритм планирования, действующий между очередями.

• Алгоритмы планирования, действующие внутри очередей.

• Правила помещения родившегося процесса в одну из очередей.

• Правила перевода процессов из одной очереди в другую.

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

На этом мы прекращаем рассмотрение различных алгоритмов планирования процессов, ибо, как было сказано: «Нельзя объять необъятное».

<< | >>
Источник: В.Е. Карпов К.А. Коньков. Основы операционных систем. 2005 {original}

Еще по теме Многоуровневые очереди с обратной связью (Multilevel Feedback Queue):

  1. Многоуровневость сознания в ее корреляции с многоуровневостью нервной системы
  2. Часть первая МНОГОУРОВНЕВАЯ МОДЕЛЬ ОРГАНИЗМА ЧЕЛОВЕКА
  3. Многофункциональность, многосубъектность. многоуровневость социальной сферы.
  4. Наряды вне очереди
  5. 2. Наследники иных (последующих) очередей
  6. 1. Наследники первой очереди
  7. Статья 1263. Третья очередь наследников по закону
  8. Статья 1264. Четвертая очередь наследников по закону
  9. Статья 1265. Пятая очередь наследников по закону
  10. Статья 1262. Вторая очередь наследников по закону
  11. Статья 1261. Первая очередь наследников по закону
  12. Мудрец, в первую очередь, – гармоничный человек
  13. Если мы спешим, то в универсаме становимся в очередь, которая движется медленнее всех остальных.
  14. 3.6.1. Обратная связь
  15. СВЯЗЬ ОБРАТНАЯ
  16. Принцип «обратной связи».
  17. Обратная связь телевидения
  18. Обратная связь
  19. 4.10. ОТРИЦАТЕЛЬНАЯ ОБРАТНАЯ СВЯЗЬ