Многоуровневые очереди (multilevel Queue)

Если процессы легко реализовать по группам, то для каждой группы готовых процессов организуется своя очередь. У каждой очереди свой приоритет и внутри очереди свой приоритет. Приоритет очереди системных процессов самый высокий.

Данный подход означает, что самый низкий процесс не поставится в очередь пока не выполнятся системные процессы.

0,RR
 
 
 
 

 

 

Многоуровневые очереди

Развитие алгоритма многоуровневых очередей является добавление к нему механизма обратной связи, пусть 4 очереди:

0 очередь, приоритет 0. RR – квант 8
1 очередь, 1 приоритет (ниже) RR- rdfyn 16
2 очередь, RR – квант 32
3 очередь, приоритет 3, FCFS

 


 

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

Только что родившийся процесс поступает в очередь 0. если его величина (время использования процесса) < 8, то он перестает выполнятся. если CPU > 16, то он переходит во 2.

Миграция процессов может осуществляться и в обратном направлении. Пр. в случае ожидания ввода с клавиатуры.

Многоуровневые очереди с обратной связью – наиболее универсальное решение.

Какие параметры необходимо учитывать при реализации планирования?

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

2. задать алгоритм планирования процессов в общем

3. задать алгоритмы планирования внутри очереди

4. правило помещение вновь рожденных процессов в очереди

5. правило перевода процессов из очереди в очередь.

 

4. Кооперация процессов и основные аспекты в её логической реализации.

Необходимо чтобы процессы взаимодействовали друг с другом.

Взаимодействующие процессы

Различные процессы могут выполнятся псевдопараллельно (в однопроцессорной ВС), или параллельно (на разных ВС), или в рамках одной ВС с множеством процессов.

Причины, по которым необходимо взаимодействие:

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

2. совместное использование данных

3. модульная конструкция системы (микроядерная организация ОС) В микроядерной организации отдельные части ОС фактически представляют для себя разные процессы, общаясь с друг другом передачей сообщений через микроядро.

4. Удобство работы с пользователем. Пр. программист работает в редакторе, а система считает данные

Общение процессом приводит к изменению их поведения

процессы, влияющие друг на друга называют кооперативными или взаимодействующими

для организации кооперации требуются специальные средства (действия ОС)

 

Категории средств обмена информацией

все средства общения с процессором принято делить на 3-ри категории:

· сигнальные средства.

· канальные средства. Общение процессов происходит через линии связи, предоставляемые ОС.

· разделяемая память. Два процесса могут совместно использовать адресное пространство

 

Логическая организация механизма передачи информации

Установление связи

для использование памяти различными процессами требуется специальное обращение в ОС и ОС выделяет память. может потребоваться первоначального бронирование линии связи.

Способы адресации (необходимо указать при передачи информации) :

1. прямая. процессы взаимодействуют друг с другом по линии связи, указывая адреса и никто не вмешивается в передачу – схема прямой адресации. Один из взаимодействующих процессов (передающий) указывает имя партнера, а второй в качестве партнеры рассматривает другой процесс в системе – ассиметричная прямая адресация.

2. непрямая (косвенная). Данные помещаются при передачи процесса в некоторый промежуточный объект.