Предварително срещу непредпазващо планиране: Ключови разлики

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

Предварителното планиране е метод за планиране, при който задачите се определят предимно с техните приоритети. Понякога е важно да изпълните задача с по -висок приоритет преди друга задача с по -нисък приоритет, дори ако задачата с по -нисък приоритет все още се изпълнява.

По това време задачата с по -нисък приоритет се задържа известно време и се възобновява, когато задачата с по -висок приоритет завърши изпълнението си.

В този урок за операционна система ще научите:

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

В този тип метод на планиране, процесорът е разпределен за определен процес. Процесът, който държи процесора зает, ще освободи процесора или чрез превключване на контекста или прекратяване.

Това е единственият метод, който може да се използва за различни хардуерни платформи. Това е така, защото не се нуждае от специализиран хардуер (например таймер) като превантивно планиране.

Непревентивното планиране възниква, когато процес доброволно влезе в състояние на изчакване или прекрати.

Разлика между предварителното и непредпазливото планиране в ОС

Тук са Предварително и Непревентивно планиране в ОС

Предварително планиране Непревентивно планиране
Процесорът може да бъде изпреварван да изпълнява различните процеси в средата на всяко текущо изпълнение на процеса.След като процесорът започне изпълнението си, той трябва да го завърши, преди да изпълни другия. Не може да бъде спряно в средата.
Използването на процесора е по-ефективно в сравнение с непредпазливото планиране.Използването на процесора е по -малко ефективно в сравнение с предварителното планиране.
Времето за изчакване и отговор на превантивното планиране е по -малко.Времето на изчакване и отговор на метода на непревентивния график е по-високо.
Предварителното планиране е с приоритет. Процесът с най -висок приоритет е процес, който се използва в момента.Когато всеки процес влезе в състояние на изпълнение, състоянието на този процес никога не се изтрива от планировчика, докато не завърши работата си.
Предварителното планиране е гъвкаво.Непревентивният график е строг.
Примери: - Най -кратко оставащо време първо, кръг и т.н.Примери: Първо дойде първо обслужване, Най -кратка работа първо, Приоритетно планиране и т.н.
Превантивният алгоритъм за планиране може да бъде предварително изпреварен, т.е. процесът може да бъде планиранПри непревантивен процес на планиране не може да се планира
В този процес процесорът се разпределя за процесите за определен период от време.В този процес CPU се разпределя към процеса, докато не приключи или премине в състояние на изчакване.
Превантивният алгоритъм има допълнителни разходи за превключване на процеса от състояние на готовност към работно състояние и обратно.Непревентивното планиране няма такива допълнителни разходи за превключване на процеса от стартиране в състояние на готовност.

Предимства на предварителното планиране

Ето кои са предимствата/ползите от метода на предварителното планиране:

  • Превантивният метод за планиране е по -стабилен, подход, така че един процес не може да монополизира процесора
  • Изборът на изпълняваща се задача се преразглежда след всяко прекъсване.
  • Всяко събитие причинява прекъсване на изпълняваните задачи
  • Операционната система гарантира, че използването на процесора е еднакво от всички работещи процеси.
  • В този случай използването на процесора е същото, тоест всички работещи процеси ще използват процесора еднакво.
  • Този метод на планиране също импровизира средното време за реакция.
  • Предварителното планиране е полезно, когато го използваме за многопрограмна среда.

Предимства на непревентивния график

Ето кои са предимствата/ползите от метода на непревентивния график:

  • Предлага ниски режийни разписания
  • Има тенденция да предлага висока производителност
  • Концептуално е много прост метод
  • По -малко изчислителни ресурси, необходими за планиране

Недостатъци на предварителното планиране

Ето кои са недостатъците/недостатъците на метода на предварителното планиране:

  • Нуждаете се от ограничени изчислителни ресурси за планиране
  • Планировчикът отнема повече време за спиране на изпълняваната задача, превключване на контекста и изпращане на новата входяща задача.
  • Процесът с нисък приоритет трябва да чака по -дълго време, ако непрекъснато пристигат някои процеси с висок приоритет.

Недостатъци на непревентивния график

Ето какви са недостатъците/недостатъците на метода на непредпазливото планиране:

  • Това може да доведе до глад, особено за тези задачи в реално време
  • Грешките могат да причинят замръзване на машината
  • Това може да затрудни планирането в реално време и приоритет
  • Лошо време за реакция на процесите

Пример за непревентивно планиране

При непревантивно SJF планиране, след като цикълът на процесора е разпределен за обработка, процесът го задържа, докато достигне състояние на изчакване или прекрати.

Помислете за следните пет процеса, всеки от които има свое уникално време на избухване и време на пристигане.

Опашка за процесиВреме на взривЧас на пристигане
P162
P225
P381
P430
P544

Стъпка 0) В момент = 0, P4 пристига и започва изпълнение.

Етап 1) В момент = 1 пристига процес P3. Но P4 все още се нуждае от 2 изпълнителни единици, за да завърши. Той ще продължи изпълнението.

Стъпка 2) В момент = 2 пристига процес P1 и се добавя към чакащата опашка. P4 ще продължи изпълнението.

Стъпка 3) При време = 3 процесът P4 ще завърши изпълнението си. Сравнява се времето на взрив на P3 и P1. Процес P1 се изпълнява, тъй като времето за неговото избухване е по -малко в сравнение с P3.

Стъпка 4) В момент = 4 пристига процес P5 и се добавя към чакащата опашка. P1 ще продължи изпълнението.

Стъпка 5) В момент = 5 пристига процес P2 и се добавя към чакащата опашка. P1 ще продължи изпълнението.

Стъпка 6) В момент = 9 процесът P1 ще завърши изпълнението си. Сравнява се времето на взрив на P3, P5 и P2. Процес P2 се изпълнява, тъй като времето за неговия пакет е най -ниското.

Стъпка 7) В момент = 10, P2 се изпълнява, а P3 и P5 са в опашката за изчакване.

Стъпка 8) В момент = 11 процесът P2 ще завърши изпълнението си. Сравнява се времето на взрив на P3 и P5. Процес P5 се изпълнява, тъй като времето за неговия пакет е по -ниско.

Стъпка 9) При час = 15 процесът P5 ще завърши изпълнението си.

Стъпка 10) В момент = 23 процесът P3 ще завърши изпълнението си.

Стъпка 11) Нека изчислим средното време на изчакване за горния пример. | _+_ |

Пример за предварителен график

Помислете за следните три процеса в кръгъл кръг

Опашка за процесиВреме на взрив
P14
P23
P35

Етап 1) Изпълнението започва с процес P1, който има време за избухване 4. Тук всеки процес се изпълнява за 2 секунди. P2 и P3 все още са на опашката за изчакване.

Стъпка 2 ) В момент = 2, P1 се добавя към края на опашката и P2 започва да се изпълнява

Стъпка 3) В момент = 4, P2 се изпреварва и добавя в края на опашката. P3 започва да се изпълнява.

Стъпка 4) В момент = 6, P3 се изпреварва и добавя в края на опашката. P1 започва да се изпълнява.

Стъпка 5) В момент = 8, P1 има време за изстрелване 4. Приключи изпълнението. P2 започва изпълнение

Стъпка 6) P2 има време за изстрелване 3. Вече е изпълнено за 2 интервала. В момент = 9, P2 завършва изпълнението. След това P3 започва изпълнение, докато не приключи.

Стъпка 7) Нека изчислим средното време на изчакване за горния пример. | _+_ |

КЛЮЧОВИ РАЗЛИКИ

  • При предварителното планиране, процесорът се разпределя към процесите за определен период от време, а процесорът с непредпазливо планиране се разпределя към процеса, докато не приключи.
  • В Предварителното планиране задачите се превключват въз основа на приоритет, докато непревентивният график не превключва.
  • Превантивният алгоритъм има допълнителни разходи за превключване на процеса от състояние на готовност към състояние на работа, докато Непревентивното планиране няма такива режими на превключване.
  • Предварителното планиране е гъвкаво, докато непревентивното планиране е твърдо.