The design of the UNIX Operating System 10 страница




Основы операционных систем 38

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

 

 

Рис. 3.5. Несколько очередей планирования

 

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

 

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

 

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


Основы операционных систем 39

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

 

Родившийся процесс поступает в очередь 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 в очередь 2. Пере-мещение процессов из очередей с низкими приоритетами в очереди с высокими приоритетами позволяет более полно учитывать изменение поведения процессов с течением времени.


Дата добавления: 2021-01-21; просмотров: 116; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!