Шта је приоритетно заказивање?
Приоритетно заказивање је метода заказивања процеса која се заснива на приоритету. У овом алгоритму, планер бира задатке за рад према приоритету.
Прво би требало изводити процесе са већим приоритетом, док се послови са једнаким приоритетима изводе на округлом терену или ФЦФС. Приоритет зависи од меморије, времена, итд.
У овом упутству за оперативни систем научићете:
- Шта је планирање приоритета?
- Врсте приоритетног заказивања
- Карактеристике приоритетног заказивања
- Пример заказивања приоритета
- Предности заказивања приоритета
- Мане приоритетног заказивања
Врсте приоритетног заказивања
Заказивање приоритета подељено у две главне врсте:
Превентивно заказивање
У превентивном планирању, задаци се углавном додељују са приоритетима. Понекад је важно покренути задатак са већим приоритетом пре другог задатка нижег приоритета, чак иако је задатак нижег приоритета и даље покренут. Задатак нижег приоритета задржава се неко време и наставља се када задатак већег приоритета заврши своје извршавање.
Непревентивно заказивање
У овој врсти методе распоређивања, ЦПУ је додељен одређеном процесу. Процес који ЦПУ чини заузетим, ослободиће ЦПУ било пребацивањем контекста или прекидом. То је једина метода која се може користити за разне хардверске платформе. То је зато што му није потребан посебан хардвер (на пример, тајмер) попут превентивног заказивања.
Карактеристике приоритетног заказивања
- ЦПУ алгоритам који планира процесе на основу приоритета.
- Користи се у оперативним системима за извођење групних процеса.
- Ако су два посла са истим приоритетом СПРЕМНА, то функционише ПРВО ДОЂИ, ПРВО ОСЛОБОЂЕНО.
- У планирању приоритета, сваком процесу се додељује број који указује на ниво његовог приоритета.
- Што је број мањи, приоритет је већи.
- У овом типу алгоритма заказивања, ако стигне новији процес, који има већи приоритет од тренутно покренутог процеса, тада је тренутно покренут поступак предузет.
Пример заказивања приоритета
Размотрите следећих пет процеса П1 до П5. Сваки процес има свој јединствени приоритет, време пуцања и време доласка.
Процес | Приоритет | Пуцање времена | Време доласка |
---|---|---|---|
П1 | 1 | 4 | 0 |
П2 | 2 | 3 | 0 |
П3 | 1 | 7 | 6 |
П4 | 3 | 4 | 11 |
П5 | 2 | 2 | 12 |
Корак 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 започиње његово извршавање.
Процес | Приоритет | Пуцање времена | Време доласка |
---|---|---|---|
П1 | 1 | 4 | 0 |
П2 | 2 | 1 од 3 на чекању | 0 |
П3 | 1 | 7 | 6 |
П4 | 3 | 4 | 11 |
П5 | 2 | 2 | 12 |
Корак 7) У време 7 не долази нови процес, па настављамо са П3. П2 је у реду чекања.
Корак 8) У време = 8, не стиже нови процес, па можемо да наставимо са П3.
Корак 9) У време = 9, не долази нови процес да бисмо могли да наставимо са П3.
Корак 10) У временском интервалу 10 не долази до новог процеса, па настављамо са П3
Корак 11) У време = 11, П4 стиже са приоритетом 4. П3 има већи приоритет, па наставља извршење.
Процес | Приоритет | Пуцање времена | Време доласка |
---|---|---|---|
П1 | 1 | 4 | 0 |
П2 | 2 | 1 од 3 на чекању | 0 |
П3 | 1 | 2 од 7 на чекању | 6 |
П4 | 3 | 4 | 11 |
П5 | 2 | 2 | 12 |
Корак 12) У време = 12, стиже П5. П3 има већи приоритет, па наставља извршење.
Корак 13) У време = 13, П3 довршава извршење. Имамо П2, П4, П5 у спремном реду. П2 и П5 имају једнак приоритет. Време доласка П2 је пре П5. Дакле, П2 започиње извршење.
Процес | Приоритет | Пуцање времена | Време доласка |
---|---|---|---|
П1 | 1 | 4 | 0 |
П2 | 2 | 1 од 3 на чекању | 0 |
П3 | 1 | 7 | 6 |
П4 | 3 | 4 | 11 |
П5 | 2 | 2 | 12 |
Корак 14) У време = 14, П2 процес је завршио своје извршавање. П4 и П5 су у стању чекања. П5 има највећи приоритет и започиње извршење.
Корак 15) У време = 15, П5 наставља извршење.
Корак 16) У време = 16, П5 је завршен са својим извршавањем. П4 је једини преостали процес. Започиње извршење.
Корак 17) У време = 20, П5 је извршио извршење и није преостао ниједан процес.
Корак 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
Предности заказивања приоритета
Ево предности / предности коришћења методе планирања приоритета:
- Једноставна метода заказивања
- Процеси се извршавају на основу приоритета, тако да високи приоритет не треба дуго чекати што штеди време
- Овај метод пружа добар механизам где релативни значај сваког процеса може бити прецизно дефинисан.
- Погодно за апликације са променљивим потребама за временом и ресурсима.
Мане приоритетног заказивања
Ево слабости / недостатака планирања приоритета
- Ако се систем на крају сруши, сви процеси ниског приоритета се губе.
- Ако процеси високог приоритета одузимају пуно процесорског времена, тада процеси нижег приоритета могу изгладнети и бити одложени на неодређено време.
- Овај алгоритам заказивања може оставити неке процесе ниског приоритета да чекају неограничено дуго.
- Процес ће бити блокиран када је спреман за покретање, али мора да сачека ЦПУ, јер је неки други процес тренутно покренут.
- Ако се нови поступак вишег приоритета и даље појављује у реду спремности, тада ће процес који је у стању чекања можда морати дуго да чека.
Резиме:
- Приоритетно заказивање је метода заказивања процеса која се заснива на приоритету. У овом алгоритму, планер бира задатке за рад према приоритету.
- У приоритетном превентивном заказивању задаци се углавном додељују са приоритетима.
- У методу приоритетног не-превентивног заказивања, ЦПУ је додељен одређеном процесу.
- Процеси се извршавају на основу приоритета, тако да високи приоритет не треба дуго чекати што штеди време
- Ако процеси високог приоритета одузимају пуно процесорског времена, тада процеси нижег приоритета могу изгладнети и бити одложени на неодређено време.