
Дозволите нам да укратко разговарамо о разликама између распореда Преемптиве и Не-превентивног распореда уз помоћ табеле за упоређивање приказане испод.
Цомпарисон Цхарт
Основа за поређење | Преемптиве Сцхедулинг | Непрекидно заказивање |
---|---|---|
Басиц | Ресурси се додељују неком процесу на ограничено време. | Када се ресурси доделе процесу, процес га задржава док не заврши своје бурст време или се пребаци на стање чекања. |
Прекидати | Процес се може прекинути између. | Процес се не може прекинути док се не прекине или прелази у стање чекања. |
Гладовање | Ако процес високог приоритета често стигне у ред чекања, процес ниског приоритета може изгладнити. | Ако процес са дугим временом бурст-а изводи ЦПУ, онда други процес са мање времена пражњења процесора може гладовати. |
Оверхеад | Преемптивно распоређивање има режијске трошкове планирања процеса. | Распоређивање без претходних обавеза нема режијске трошкове. |
Флексибилност | Преемптивно заказивање је флексибилно. | Непревентивно заказивање је ригидно. |
Цост | Преемптивно планирање је повезано са трошковима. | Непревентивно заказивање није трошковно асоцијативно. |
Дефиниција Преемптиве Сцхедулинг
Преемптивно планирање је оно које се може урадити у околностима када се процес пребацује из стања рада у стање приправности или из стања чекања у стање спремности . Овде се ресурси (ЦПУ циклуси) додељују процесу у ограниченом временском периоду, а затим се одузимају, а процес се поново поставља у ред чекања поново ако још увек има преостало време пражњења процесора. Процес остаје у спремном реду док не добије следећу шансу за извршење.
Ако процес са високим приоритетом стигне у ред чекања, не мора да чека на тренутни процес да заврши своје бурст време. Уместо тога, тренутни процес је прекинут у средини извршења и смештен је у ред чекања док процес са високим приоритетом не користи процесорске циклусе. На овај начин, сваки процес у реду спреман добија неко време да покрене ЦПУ. То чини флексибилним планирање преемптивног планирања, али повећава оптерећење пребацивања процеса из стања у стање спремности у стање приправности и висе-стих.
Алгоритми који раде на преемптивни распоред су Роунд Робин. Најкраћи први посао (СЈФ) и заказивање приоритета могу или не морају бити под прелиминарним распоредом.
Узмимо пример Преемптиве Сцхедулинг-а, погледајте на слици испод. Имамо четири процеса П0, П1, П2, П3. Од тога, П2 стиже у време 0. Дакле, ЦПУ је додељен процесу П2 јер не постоји други процес у реду. У међувремену, П2 је извршавао, П3 је стигао у време 1, сада је преостало време за процес П2 (5 милисекунди) које је веће од времена које захтева П3 (4 мили-сек). Тако је ЦПУ додељен процесору П3.

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

Кључне разлике између распоређивања превентивног и непревентивног распореда
- Основна разлика између преемптиве и нон-преемптиве распореда је у томе што се у превентивном распореду ЦПУ додељује процесима за ограничено време. Док је у Не-превентивном распоређивању, ЦПУ је додељен процесу док се не заврши или пребаци у стање чекања .
- Процес извршавања у преемптиве распоређивању се прекида у средини извршења, док се процес извршавања у не-превентивном планирању не прекида у средини извршења.
- Преемптиве Сцхедулинг има оптерећење за пребацивање процеса из стања спремности у стање рада, висе-верз и одржавање реда спремности. С друге стране, непрецептивно распоређивање нема оптерећење за пребацивање процеса из стања у стање спремности.
- У преемптиве распоређивању, ако процес са високим приоритетом често долази у ред чекања, процес са ниским приоритетом мора чекати дуго, и можда ће морати да гладује. С друге стране, у непрецептивном распореду, ако је ЦПУ додељен процесу са већим временом бурст-а, онда процеси са малим временом пуцања можда морају гладовати.
- Преемптивно распоређивање је прилично флексибилно јер је критичним процесима дозвољен приступ ЦПУ-у док они долазе у ред чекања, без обзира на то који се процес тренутно извршава. Непревентивно планирање је ригидно, јер чак и ако критични процес уђе у ред чекања, процес који покреће ЦПУ није нарушен.
- Преемптиве Сцхедулинг је трошковно асоцијативан јер мора одржавати интегритет дијељених података што није случај са распоређивањем без превентивног приступа.
Закључак:
Није да је преемптивно заказивање боље од непрецептивног распоређивања или висе-стиха. Све зависи од тога како распоређивање минимизира просјечно вријеме чекања процеса и максимизира кориштење ЦПУ-а.