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

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

Приоритетное планирование

Алгоритмы SJF и гарантированного планирования – это частые случаи приоритетного планирования. При таком планирования пользователю присваивается приоритет, опираясь на который планировщик предоставляет процессор процессу с наивысшим приоритетом (0). Если приоритет одинаков, то алгоритм – FCFS.

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

Чаще всего наиболее просто реализуются алгоритмы со статическими приоритетами. Наиболее гибкие алгоритмы с динамическими приоритетами.

Главная проблема приоритетного планирования в том, что при некорректной реализации низкоприоритетные процессы могут вообще не запускаться. Решение этой проблемы возможно следующим образом – время от времени увеличивать приоритет процессов, находящихся в состоянии «готовность», а когда процесс побывал в состоянии «исполнение» ему восстанавливается первоначальный приоритет.

 

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

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

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. Кооперация процессов и основные аспекты в её логической реализации.

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