Алгоритм приоритетного планирования: упреждающий, не вытесняющий ПРИМЕР

Содержание:

Anonim

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

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

Сначала должны выполняться процессы с более высоким приоритетом, тогда как задания с равным приоритетом выполняются на основе циклического перебора или 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 = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

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

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

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

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

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

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

Резюме:

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