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

Съдържание:

Anonim

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

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

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

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

  • Какво е превантивно планиране?
  • Какво е непревантивно планиране?
  • Разлика между изпреварващо и непревентивно планиране в ОС
  • Предимства на превантивното планиране
  • Предимства на непредупредителното планиране
  • Недостатъци на превантивното планиране
  • Недостатъци на непредупредителното планиране
  • Пример за непредварително планиране
  • Пример за превантивно планиране

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

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

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

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

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

Тук са превантивно и непредпазливо планиране в OS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опашка за обработка Време за спукване Час на пристигане
P1 6 2
Р2 2 5
P3 8 1
Р4 3 0
P5 4 4

Стъпка 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) Нека изчислим средното време за изчакване за горния пример.

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

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

Помислете за следните три процеса в Round-robin

Опашка за обработка Време за спукване
P1 4
Р2 3
P3 5

Стъпка 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) Нека изчислим средното време за изчакване за горния пример.

Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

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

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