#алгоритм #процесс #планирование
Объясните пожалуйста, как работает алгоритм диспетчеризации 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 или нет).
Комментариев нет:
Отправить комментарий