Учебники

25) Алгоритм приоритетного планирования

Что такое приоритетное планирование?

Приоритетное планирование – это метод планирования процессов, основанный на приоритете. В этом алгоритме планировщик выбирает задачи для работы в соответствии с приоритетом.

Процессы с более высоким приоритетом должны выполняться в первую очередь, тогда как задания с равными приоритетами выполняются на основе циклического перебора или FCFS. Приоритет зависит от требований к памяти, времени и т. Д.

Из этого руководства по операционной системе вы узнаете:

Типы приоритетного планирования

Приоритетное планирование делится на два основных типа:

Упреждающее планирование

В упреждающем планировании задачи в основном назначаются с их приоритетами. Иногда важно запустить задачу с более высоким приоритетом перед другой задачей с более низким приоритетом, даже если задача с более низким приоритетом все еще выполняется. Задача с более низким приоритетом удерживается некоторое время и возобновляется, когда задача с более высоким приоритетом завершает свое выполнение.

Непланирующее планирование

В этом типе метода планирования ЦП был выделен для определенного процесса. Процесс, который удерживает процессор занятым, освободит процессор либо переключением контекста, либо завершением. Это единственный метод, который можно использовать для различных аппаратных платформ. Это потому, что ему не нужно специальное оборудование (например, таймер), например, упреждающее планирование.

Характеристики приоритетного планирования

  • Алгоритм ЦП, который планирует процессы на основе приоритета.
  • Он используется в операционных системах для выполнения пакетных процессов.
  • Если два задания с одинаковым приоритетом ГОТОВЫ, оно работает ПЕРВЫМ, ПЕРВЫМ ОБСЛУЖИВАНИЕМ.
  • При планировании приоритетов каждому процессу присваивается номер, который указывает его уровень приоритета.
  • Чем ниже число, тем выше приоритет.
  • В этом типе алгоритма планирования, если прибывает более новый процесс, который имеет более высокий приоритет, чем текущий запущенный процесс, тогда выполняющийся в настоящее время процесс вытесняется.

Пример приоритетного планирования

Рассмотрим следующие пять процессов от P1 до P5. Каждый процесс имеет свой уникальный приоритет, время пакета и время прибытия.

Обработать приоритет Время взрыва Время прибытия
P1 1 4 0
P2 2 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Шаг 0) В момент времени = 0 поступают процессы P1 и P2. P1 имеет более высокий приоритет, чем P2. Выполнение начинается с процесса P1, который имеет время 4 пакета.

Шаг 1) В момент времени = 1 новый процесс не поступает. Выполнение продолжается с P1.

Шаг 2) В момент 2 новый процесс не поступает, поэтому вы можете продолжить с P1. P2 находится в очереди ожидания.

Шаг 3) В момент 3 новый процесс не поступает, поэтому вы можете продолжить с P1. Процесс P2 все еще находится в очереди ожидания.

Шаг 4) В момент 4 P1 завершил свое выполнение. P2 начинает выполнение.

Шаг 5) В момент времени 5 новый процесс не поступает, поэтому мы продолжаем с P2.

Шаг 6) В момент времени = 6 приходит P3. P3 имеет более высокий приоритет (1) по сравнению с P2, имеющим приоритет (2). P2 выгружается, и P3 начинает свое выполнение.

Обработать приоритет Время взрыва Время прибытия
P1 1 4 0
P2 2 1 из 3 ожидающих 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Шаг 7) Во время 7 не происходит новый процесс, поэтому мы продолжаем с P3. P2 находится в очереди ожидания.

Шаг 8) В момент времени = 8 новый процесс не поступает, поэтому мы можем продолжить с P3.

Шаг 9) Во время = 9 новый процесс не приходит, поэтому мы можем продолжить с P3.

Шаг 10) В промежуток времени 10 новый процесс не приходит, поэтому мы продолжаем с P3

Шаг 11) В момент времени = 11, P4 прибывает с приоритетом 4. P3 имеет более высокий приоритет, поэтому он продолжает свое выполнение.

Обработать приоритет Время взрыва Время прибытия
P1 1 4 0
P2 2 1 из 3 ожидающих 0
P3 1 2 из 7 ожидающих рассмотрения 6
P4 3 4 11
P5 2 2 12

Шаг 12) В момент времени = 12 приходит P5. P3 имеет более высокий приоритет, поэтому он продолжает выполнение.

Шаг 13) В момент времени = 13 P3 завершает выполнение. У нас есть P2, P4, P5 в очереди. P2 и P5 имеют равный приоритет. Время прибытия P2 до P5. Таким образом, P2 начинает выполнение.

Обработать приоритет Время взрыва Время прибытия
P1 1 4 0
P2 2 1 из 3 ожидающих 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Шаг 14) В момент времени = 14 процесс P2 завершил свое выполнение. P4 и P5 находятся в состоянии ожидания. P5 имеет самый высокий приоритет и начинает выполнение.

Шаг 15) В момент времени = 15 P5 продолжает выполнение.

Шаг 16) В момент времени = 16 P5 завершает свое выполнение. P4 – единственный оставшийся процесс. Начинается исполнение.

Шаг 17) В момент времени 20 P5 завершил выполнение, и процесс не остался.

Шаг 18) Давайте подсчитаем среднее время ожидания для приведенного выше примера.

Время ожидания = время начала – время прибытия + время ожидания следующего пакета

P1 = o - o = o
P2 =4 - o + 7 =11	
P3= 6-6=0
P4= 16-11=5
Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

Преимущества приоритетного планирования

Вот преимущества / преимущества использования метода планирования приоритетов:

  • Простой в использовании метод планирования
  • Процессы выполняются на основе приоритета, поэтому высокому приоритету не нужно долго ждать, что экономит время
  • Этот метод обеспечивает хороший механизм, где можно точно определить относительную важность каждого процесса.
  • Подходит для приложений с меняющимися требованиями времени и ресурсов.

Недостатки приоритетного планирования

Здесь есть минусы / недостатки приоритетного планирования

  • В случае сбоя системы все процессы с низким приоритетом теряются.
  • Если процессы с высоким приоритетом занимают много времени процессора, то процессы с более низким приоритетом могут голодать и будут отложены на неопределенное время.
  • Этот алгоритм планирования может оставить некоторые процессы с низким приоритетом ожидающими бесконечно долго.
  • Процесс будет заблокирован, когда он будет готов к запуску, но должен ждать ЦП, потому что в данный момент выполняется какой-то другой процесс.
  • Если новый процесс с более высоким приоритетом продолжает поступать в очередь готовности, то процессу, который находится в состоянии ожидания, может потребоваться длительное время ожидания.

Резюме:

  • Приоритетное планирование – это метод планирования процессов, основанный на приоритете. В этом алгоритме планировщик выбирает задачи для работы в соответствии с приоритетом.
  • В приоритетном приоритетном планировании задачам в основном назначаются их приоритеты.
  • В приоритетном методе без упреждающего планирования ЦП был выделен для конкретного процесса.
  • Процессы выполняются на основе приоритета, поэтому высокому приоритету не нужно долго ждать, что экономит время
  • Если процессы с высоким приоритетом занимают много времени процессора, то процессы с более низким приоритетом могут голодать и будут отложены на неопределенное время.