Многоуровневые очереди (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. непрямая (косвенная). Данные помещаются при передачи процесса в некоторый промежуточный объект.