Страницы

Поиск по вопросам

понедельник, 16 декабря 2019 г.

Реализация алгоритма планирования SRR для Q = 2

#алгоритм #процесс #планирование


Объясните пожалуйста, как работает алгоритм диспетчеризации SRR для Q = 2. 
На рисунке показано, что при Q = 1, приоритеты процессов пересчитываются каждый квант
времени. 



Если Q=2, тогда приоритеты процессов будут изменяться по тому же принципу, только
через 2 кванта времени? То есть, через каждые 2 кванта приоритеты будут увеличиваться
на 2(для новых процессов) или на 1(которые уже использовали ЦП). Или же процесс просто
будет занимать ЦП 2 кванта времени, а его приоритет все равно будет увеличиваться каждый
квант? Не пойму точно, как работает алгоритм планирования для разных значений количества
квантов Q. Прошу пояснить. Заранее благодарен за помощь. 
    


Ответы

Ответ 1



SRR отличается от обычного RR (аббревиатуры для Selfish Round Robin и Round Robin) изначальным приоритетом для новых процессов. Например, в случае обычного RR приоритет для всех процессов одинаковый, потому все процессы получают равное количество времени. В случае SRR ситуация несколько иная: более старые процессы имеют больший приоритет, потому получают больше процессорного времени. На графике видно что задача A заняла два слота времени, хотя на время второго слота приходится новая задача B. Детали роста приоритета у старых и новых задач вы упоминаете в вопросе, останавливаться на них не буду. Вопрос насчёт Q относится не сколько к SRR, сколько к RR вообще. Q (от quantum) - часть времени процессора которая даётся задаче на работу до вытеснения другой задачей. Если Q=2, то задаче даётся две части времени. Хватило - молодец, а не хватило - тоже не проблема, просто жди своей очереди. Как вы заметили, в случае SRR на выделение времени влияет также приоритет процесса, который, в свою очередь, зависит от возраста и типа процесса (accepted или нет).

Комментариев нет:

Отправить комментарий