алгоритм циклического перебора на основе приоритета в операционной системе: является ли это упреждающим?
в приоритетном циклическом алгоритме, когда процесс с более высоким приоритетом (скажем, P1) прибывает во время обработки процесса с более низким приоритетом (P2), P2 должен быть упрежден, а P1 обработан вместо этого. правильно?
тогда что, если после определенного кванта времени (ex. 10мс)
обрабатывается ли P1? (поскольку P1 имеет более высокий приоритет)
или P1 предварительно и планировщик отправки P2 (потому что в цикле, по истечении времени quantum, работа должна быть переключена)
Я думаю, что вторая мысль правильная, но книга сбивает меня с толку. (концепция операционной системы international ver. упражнение 5.8)
спасибо большое
1 ответов
это зависит. Как это реализуется в обычном цикле, где нет приоритета, тогда мы должны превзойти P2. Но это имеет приоритет перед ним, который мы делаем опережающим, но к любому процессу происходит, чтобы иметь следующий наивысший приоритет (чтобы держать вещи простыми).
предположим, что он реализован таким образом:
- процессы только предваряются с помощью временного среза циклического
- приоритет будет просто основан на заказе процессы выполняются в RR (чтобы избежать проблем с голоданием)
это может отличаться от того, что есть в вашей книге, например, это может увеличить приоритет процессов на основе того, как долго они были в очереди, а затем превзойти текущий самый высокий (в котором может быть тот же процесс). Но то, как я определил выше, больше сосредоточено на совместном использовании круглых столов. В этом случае P1
прерывается и мы переходим к P2
, так же, как работает обычный RR.
но давайте переходите к лучшему примеру, скажем, у нас есть P1 (priority = high)
, P2 (priority = low)
и P3 (priority = med)
. А затем введите очередь в порядке: P1, P2, P3. Тогда из того, как я определил приоритет RR, сделаем следующее:
P1 -> [high] Notice the priority simply changes the ordering
P3 -> [med] But each still has the same time slice.
P2 -> [low]
P1
P3
P2
С N
отрезок времени. Конечно, да, не кажется, что приоритет играет большой фактор здесь, RR больше внимания. Но поскольку количество процессов в готовой очереди велико (и, возможно, срез времени большой), то он будет играть немного большой фактор.