Шта је превентивно заказивање?
Превентивно заказивање је метода заказивања где се задаци углавном додељују са својим приоритетима. Понекад је важно покренути задатак са већим приоритетом пре другог задатка нижег приоритета, чак иако је задатак нижег приоритета и даље покренут.
У то време задатак нижег приоритета држи се неко време и наставља се када задатак вишег приоритета заврши своје извршавање.
У овом упутству за оперативни систем научићете:
- Шта је превентивно заказивање?
- Шта је незабрањено заказивање?
- Разлика између превентивног и непревентивног заказивања у ОС-у
- Предности превентивног заказивања
- Предности не-превентивног заказивања
- Мане превентивног заказивања
- Мане не-превентивног заказивања
- Пример неизбежног заказивања
- Пример превентивног заказивања
Шта је незабрањено заказивање?
У овој врсти методе распоређивања, ЦПУ је додељен одређеном процесу. Процес који ЦПУ заузима ослобађа ЦПУ било пребацивањем контекста или прекидом.
То је једина метода која се може користити за разне хардверске платформе. То је зато што му није потребан специјализовани хардвер (на пример, тајмер) попут превентивног заказивања.
Непревентивно заказивање се дешава када процес добровољно уђе у стање чекања или се заврши.
Разлика између превентивног и непревентивног заказивања у ОС-у
Овде су превентивно и непревентивно заказивање у ОС-у
Превентивно заказивање | Непревентивно заказивање |
Процесор може бити предузет да извршава различите процесе усред било ког тренутног извршавања процеса. | Једном када процесор започне извршење, мора га завршити пре извршавања другог. Не може се паузирати у средини. |
Коришћење процесора је ефикасније у поређењу са не-превентивним распоређивањем. | Коришћење процесора је мање ефикасно у поређењу са превентивним заказивањем. |
Време чекања и одзива превентивног заказивања је мање. | Време чекања и одзива методе без превентивног заказивања је веће. |
Превентивно заказивање има приоритет. Процес највишег приоритета је процес који се тренутно користи. | Када било који процес уђе у стање изводјења, стање тог процеса се никада не брише из планера док не заврши свој посао. |
Превентивно заказивање је флексибилно. | Непревентивно заказивање је круто. |
Примери: - Прво најкраће преостало време, Роунд Робин итд. | Примери: Прво послужи, најкраћи посао прво, приоритетно заказивање итд. |
Превентивни алгоритам заказивања може се предупредити, односно процес се може заказати | У поступку без превентивног заказивања не може се заказати |
У овом процесу, ЦПУ се додељује процесима за одређени временски период. | У овом процесу, ЦПУ се додељује процесу док се не заврши или пређе у стање чекања. |
Преемптивни алгоритам има општу потребу за пребацивањем процеса из стања приправности у стање рада и обрнуто. | Непревентивно заказивање нема такву општу потребу за пребацивањем процеса из покретања у стање приправности. |
Предности превентивног заказивања
Ево предности / предности методе превентивног заказивања:
- Метода превентивног планирања је робуснија, приступ тако да један процес не може монополизовати ЦПУ
- Избор текућег задатка преиспитиван је након сваког прекида.
- Сваки догађај узрокује прекид извршавања задатака
- ОС осигурава да је употреба процесора иста у свим покренутим процесима.
- У томе је употреба ЦПУ-а иста, тј. Сви покренути процеси ће једнако користити ЦПУ.
- Ова метода распоређивања такође импровизује просечно време одзива.
- Превентивно заказивање је корисно када га користимо за вишепрограмско окружење.
Предности не-превентивног заказивања
Ево предности / предности методе без превентивног заказивања:
- Нуди режијске трошкове ниског распореда
- Тежи да нуди велику пропусност
- То је концептуално врло једноставна метода
- За планирање је потребно мање рачунарских ресурса
Мане превентивног заказивања
Ево недостатака / недостатака методе превентивног заказивања:
- Потребни су ограничени рачунски ресурси за заказивање
- Планеру је потребно више времена да суспендује извршени задатак, пребаци контекст и пошаље нови долазни задатак.
- Процес који има низак приоритет мора дуже да чека ако неки процеси високог приоритета непрекидно пристижу.
Мане не-превентивног заказивања
Ево недостатака / недостатака методе без превентивног заказивања:
- То може довести до глади, посебно за оне задатке у стварном времену
- Грешке могу проузроковати замрзавање машине
- То може отежати заказивање у реалном времену и приоритетима
- Лоше време одзива на процесе
Пример неизбежног заказивања
У не-превентивном СЈФ распоређивању, након што се процесорски циклус додели процесу, процес га задржава док не достигне стање чекања или се не прекине.
Размотрите следећих пет процеса који имају своје јединствено време избијања и време доласка.
Ред чекања | Пуцање времена | Време доласка |
П1 | 6 | 2 |
П2 | 2 | 5 |
П3 | 8 | 1 |
П4 | 3 | 0 |
П5 | 4 | 4 |
Корак 0) У време = 0, П4 стиже и започиње извршење.
Корак 1) У време = 1, долази процес П3. Али, П4 и даље требају 2 извршне јединице да би их довршио. Наставиће извршење.
Корак 2) У време = 2, процес П1 стиже и додаје се у ред чекања. П4 ће наставити извршење.
Корак 3) У време = 3, процес П4 ће завршити своје извршавање. Упоређује се време пуцања П3 и П1. Процес П1 се извршава јер је његово пуцање мање у односу на П3.
Корак 4) У време = 4, процес П5 стиже и додаје се у ред чекања. П1 ће наставити извршење.
Корак 5) У време = 5, процес П2 стиже и додаје се у ред чекања. П1 ће наставити извршење.
Корак 6) У време = 9, процес П1 ће завршити своје извршавање. Упоређује се време пуцања П3, П5 и П2. Процес П2 се извршава јер је његово пуцање најниже.
Корак 7) У тренутку = 10, П2 се извршава, а П3 и П5 су у реду чекања.
Корак 8) У време = 11, процес П2 ће завршити своје извршавање. Упоређује се време пуцања П3 и П5. Процес П5 се извршава јер је његово пуцање краће.
Корак 9) У време = 15, процес П5 ће завршити своје извршавање.
Корак 10) У време = 23, процес П3 ће завршити своје извршавање.
Корак 11) Израчунајмо просечно време чекања за горњи пример.
Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2
Пример превентивног заказивања
Размотрите ово следећа три процеса у Роунд-робин-у
Ред чекања | Пуцање времена |
П1 | 4 |
П2 | 3 |
П3 | 5 |
Корак 1) Извршење започиње процесом П1, који има временско ограничење 4. Овде се сваки процес извршава 2 секунде. П2 и П3 су и даље у реду чекања.
Корак 2 ) У тренутку = 2, П1 се додаје на крај реда и П2 почиње да се извршава
Корак 3) У тренутку = 4, П2 се преузима и додаје на крају реда. П3 почиње да се извршава.
Корак 4) У време = 6, П3 се преузима и додаје на крају реда. П1 почиње да се извршава.
Корак 5) У време = 8, П1 има време пуцања 4. Завршио је извршење. П2 започиње извршење
Корак 6) П2 има време пуцања од 3. Већ је извршено за 2 интервала. У време = 9, П2 довршава извршење. Тада П3 започиње извршење док се не заврши.
Корак 7) Израчунајмо просечно време чекања за горњи пример.
Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7
КЉУЧНЕ РАЗЛИКЕ
- У превентивном планирању, ЦПУ се додељује процесима за одређени временски период, а ЦПУ који не прелиминарно заказује додељује се процесу док се не заврши.
- У превентивном планирању, задаци се мењају на основу приоритета, док се не предузима превентивно планирање, не долази до пребацивања.
- Преемптиве алгоритам има опште трошкове за пребацивање процеса из стања приправности у стање у току, док Нон-превентивно заказивање нема такву опцију за пребацивање.
- Превентивно заказивање је флексибилно, док је незанемарљиво заказивање круто.