Алгоритам приоритетног планирања: Превентивни, непревентивни ПРИМЕР

Шта је приоритетно планирање?

Приоритетно заказивање је метода заказивања процеса која се заснива на приоритету. У овом алгоритму распоређивач бира задатке за рад према приоритету.

Прво треба извести процесе са већим приоритетом, док се послови са једнаким приоритетима обављају на принципу понављања или ФЦФС-а. Приоритет зависи од меморијских захтева, временских захтева итд.

У овом упутству о оперативном систему научићете:

Врсте приоритетног планирања

Приоритетни распоред подељен је у две главне врсте:

Превентивно заказивање

У превентивном распореду задаци се углавном додељују својим приоритетима. Понекад је важно покренути задатак са већим приоритетом пре другог задатка нижег приоритета, чак и ако је задатак нижег приоритета још увек активан. Задатак нижег приоритета се задржава неко време и наставља када се задатак вишег приоритета заврши са извршењем.

Непревентивно заказивање

У овој врсти распореда, ЦПУ је додељен одређеном процесу. Процес који задржава ЦПУ заузет ће ослободити ЦПУ или пребацивањем контекста или завршетком. То је једини метод који се може користити за различите хардверске платформе. То је зато што му није потребан посебан хардвер (на пример, тајмер) као што је превентивно заказивање.

Карактеристике приоритетног планирања

  • ЦПУ алгоритам који планира процесе на основу приоритета.
  • Користи се у оперативним системима за извођење серијских процеса.
  • Ако су два посла са истим приоритетом СПРЕМНИ, ради по принципу ПРВИ ДОЛАЗАК, ПРВИ СЕРВИСИРАН.
  • У распореду приоритета, сваком процесу се додељује број који означава његов ниво приоритета.
  • Смањите број, већи је приоритет.
  • У овом типу алгоритама планирања, ако стигне новији процес који има већи приоритет од тренутно покренутог процеса, тада се процес који је тренутно у току искључује.

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

Размислите о следећих пет процеса П1 до П5. Сваки процес има свој јединствени приоритет, време рафала и време доласка.

ПроцесПриоритетБурст тимеВреме доласка
П1140
П2230
П3176
П434Једанаест
П52212

Корак 0) У тренутку = 0, процес П1 и П2 стижу. П1 има већи приоритет од П2. Извођење почиње процесом П1, који има време рафала 4.

Корак 1) У тренутку = 1, нови процес не стиже. Извршење се наставља са П1.

Корак 2) У тренутку 2 не долази нови процес, па можете наставити са П1. П2 је у реду чекања.

Корак 3) У тренутку 3 не долази нови процес па можете наставити са П1. П2 процес је још у реду чекања.

Корак 4) У тренутку 4, П1 је завршио извршење. П2 почиње извршавање.

Корак 5) У тренутку = 5 не долази нови процес, па настављамо са П2.

Корак 6) У тренутку = 6, долази П3. П3 има већи приоритет (1) у поређењу са П2 који има приоритет (2). П2 је искључен, а П3 започиње његово извршавање.

Процес Приоритет Бурст тиме Време доласка
П1140
П221 од 3 на чекању0
П3176
П434Једанаест
П52212

Корак 7) Ат време 7, не долази нови процес, па настављамо са П3. П2 је у реду чекања.

Корак 8) У тренутку = 8, не долази нови процес, па можемо наставити са П3.

Корак 9) У тренутку = 9, не долази до новог процеса па можемо наставити са П3.

Корак 10) У временском интервалу 10 не долази до новог процеса, па настављамо са П3

Корак 11) У тренутку = 11, П4 стиже са приоритетом 4. П3 има већи приоритет, па наставља са извршавањем.

Процес Приоритет Бурст тиме Време доласка
П1140
П221 од 3 на чекању0
П312 од 7 на чекању6
П434Једанаест
П52212

Корак 12) У тренутку = 12, долази П5. П3 има већи приоритет, па наставља извршење.

Корак 13) У тренутку = 13, П3 завршава извршење. Имамо П2, П4, П5 на чекању. П2 и П5 имају једнак приоритет. Време доласка П2 је пре П5. Дакле, П2 почиње извршавање.

Процес Приоритет Бурст тиме Време доласка
П1140
П221 од 3 на чекању0
П3176
П434Једанаест
П52212

Корак 14) У тренутку = 14, процес П2 је завршио извршење. П4 и П5 су у стању чекања. П5 има највећи приоритет и почиње извршавање.

Корак 15) У тренутку = 15, П5 наставља са извршавањем.

Корак 16) У тренутку = 16, П5 је завршен са извршењем. П4 је једини преостали процес. Почиње извршење.

Корак 17) У тренутку = 20, П5 је завршио извршавање и ниједан процес није преостао.

Корак 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 

Предности приоритетног заказивања

Ево предности/предности коришћења методе приоритетног планирања:

  • Метод заказивања једноставан за коришћење
  • Процеси се извршавају на основу приоритета, тако да високи приоритет не мора дуго да чека, што штеди време
  • Ова метода пружа добар механизам где се релативна важност сваког процеса може прецизно дефинисати.
  • Погодно за апликације са променљивим временом и захтевима ресурса.

Недостаци приоритетног заказивања

Овде су недостаци/недостаци приоритетног заказивања

  • Ако се систем на крају сруши, сви процеси ниског приоритета се губе.
  • Ако процеси високог приоритета одузимају пуно времена процесору, процеси нижег приоритета могу изгладнети и биће одложени на неодређено време.
  • Овај алгоритам планирања може оставити неке процесе ниског приоритета да чекају неограничено дуго.
  • Процес ће бити блокиран када буде спреман за покретање, али мора сачекати ЦПУ јер је тренутно у току неки други процес.
  • Ако нови процес са већим приоритетом стално долази у ред чекања, процес који је у стању чекања ће можда морати да чека дуго.

Резиме:

  • Приоритетно распоређивање је метода планирања процеса која се заснива на приоритету. У овом алгоритму распоређивач бира задатке за рад према приоритету.
  • У приоритетном превентивном распореду задаци се углавном додељују својим приоритетима.
  • У приоритетној не-превентивној методи планирања, ЦПУ је додељен одређеном процесу.
  • Процеси се извршавају на основу приоритета, тако да високи приоритет не мора дуго да чека, што штеди време
  • Ако процеси високог приоритета одузимају пуно времена процесору, процеси нижег приоритета могу изгладнети и биће одложени на неодређено време.