Я пытаюсь решить следующую домашнюю задачу для класса операционных систем:
Следующие процессы планируются с использованием упреждающего алгоритма циклического планирования. Каждому процессу назначается числовой приоритет, причем большее число указывает на более высокий относительный приоритет.
В дополнение к процессам, перечисленным ниже, в системе также есть бездействующая задача (которая не потребляет ресурсы ЦП и определяется как Pidle ). Эта задача имеет приоритет 0 и запланирована всякий раз, когда в системе нет других доступных процессов для запуска.
Длина кванта времени равна 10 единицам.
Если процесс вытеснен процессом с более высоким приоритетом, вытесненный процесс помещается в конец очереди.
+--+--------+----------+-------+---------+
| | Thread | Priority | Burst | Arrival |
+--+--------+----------+-------+---------+
| | P1 | 40 | 15 | 0 |
| | P2 | 30 | 25 | 25 |
| | P3 | 30 | 20 | 30 |
| | P4 | 35 | 15 | 50 |
| | P5 | 5 | 15 | 100 |
| | P6 | 10 | 10 | 105 |
+--+--------+----------+-------+---------+
а. Покажите порядок планирования процессов с помощью диаграммы Ганта.
б. Каково время выполнения каждого процесса?
c. Каково время ожидания для каждого процесса?
d. Какова степень использования процессора?
Мой вопрос: какую роль играет приоритет, когда мы рассматриваем использование алгоритма циклического перебора? Я много думал об этом, и пришел к выводу, что это имеет смысл только в том случае, если приоритет важен во время его прибытия, чтобы решить, должен ли он вытеснять другой процесс или нет. Причина, по которой я пришел к такому выводу, заключается в том, что если бы он проверялся каждый раз, когда происходило переключение контекста, то процесс с наивысшим приоритетом всегда выполнялся бы бесконечно, а другие процессы голодали бы. Это противоречит идее циклического перебора, гарантирующего, что ни один процесс не выполняется дольше, чем один квант времени, и идее о том, что после выполнения процесса он переходит в конец очереди.
Используя эту логику, я решил проблему как таковую:
Не могли бы вы сообщить мне, правильно ли я нахожусь в отношении приоритета роли в этой ситуации и правильно ли я подхожу к этому?