алгоритм циклического перебора на основе приоритета в операционной системе: является ли это упреждающим?

в приоритетном циклическом алгоритме, когда процесс с более высоким приоритетом (скажем, 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 больше внимания. Но поскольку количество процессов в готовой очереди велико (и, возможно, срез времени большой), то он будет играть немного большой фактор.