Препоръчано, 2024

Избор На Редактора

Разлика между предварителен и непредставляващ график в операционната система

Отговорност на CPU планировчика е да разпредели процес на CPU, когато CPU е в неактивен режим. Планировчикът на процесора избира процес от опашката за готовност и разпределя процеса на CPU. Планирането, което се извършва, когато процесът се превключи от състояние на готовност в състояние на готовност или от състояние на изчакване в състояние на готовност, се нарича превантивно планиране . На ръце, планирането, което се извършва, когато процесът се прекрати или превключи от работа към изчакване за състояние на такъв тип CPU график, се нарича Планиране без избягване . Основната разлика между превантивното и непредварително планиране е в самото им име. Това е предварителното планиране може да бъде изпреварено; процесите могат да бъдат планирани. В непредставителното планиране процесите не могат да се планират.

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

Сравнителна таблица

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

Дефиниция на предварителното планиране

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

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

Алгоритми, които работят по изпреварващо планиране, са Round Robin. Най-краткото първоначално задание (SJF) и графикът за приоритет могат или не могат да бъдат включени в предварителното планиране.

Нека вземем пример за предварителното планиране, погледнете изображението по-долу. Имаме четири процеса P0, P1, P2, P3. От което P2 пристига в момент 0. Така CPU се разпределя за процеса P2, тъй като няма друг процес в опашката. В същото време Р2 се изпълнява, Р3 пристига в момент 1, сега оставащото време за процес Р2 (5 милисекунди), което е по-голямо от времето, необходимо на РЗ (4 милисекунди). Така CPU се разпределя за процесор P3.

Междувременно се изпълнява P3, процес P1 пристига в момент 2. Сега оставащото време за P3 (3 милисекунди) е по-малко от времето, необходимо за процесите P1 (4 милисекунди) и P2 (5 милисекунди). Така P3 е позволено да продължи. Докато P3 продължава процеса P0 пристига в момент 3, сега оставащото време за P3 (2 милисекунди) е равно на времето, изисквано от P0 (2 милисекунди). Така P3 продължава и след като P3 прекрати CPU се разпределя на P0, тъй като има по-малко време на изригване от друго. След като P0 завърши, CPU се разпределя към P1 и след това към P2.

Дефиниране на планиране с непредставляващ ефект

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

За разлика от предварителното планиране, непредставящото планиране не прекъсва процес, изпълняващ CPU в средата на изпълнението. Вместо това той изчаква процесът да завърши времето на пулса на процесора и след това може да разпредели CPU към друг процес.

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

Нека решим горния пример за планиране в непредставляващ начин. Тъй като първоначално процесът P2 пристига в момент 0, така CPU се разпределя за процеса Р2, за да се изпълни 6 милисекунди. Между всички процеси т.е. P0, P1, P3 пристига в готова опашка. Но всички изчакват, докато процес Р2 завърши времето на пулса на процесора. След това процес, който пристига след P2 т.е. P3 е след това разпределени на процесора, докато го завърши е изригване време. По същия начин, тогава P1 се изпълнява и CPU по-късно се дава на процеса P0.

Ключови разлики между предварително изпреварващо планиране и график, който не е принудително

  1. Основната разлика между предварително и непредставляващо планиране е, че при изпреварващо планиране CPU се разпределя за процесите за ограниченото време. Докато е в непредставляващо планиране, процесорът се разпределя към процеса, докато се прекрати или превключи в състояние на изчакване .
  2. Процесът на изпълнение в предварителен график се прекъсва в средата на изпълнение, докато процесът на изпълнение в непредпазващо планиране не се прекъсва в средата на изпълнение.
  3. Превантивното планиране има натоварване при превключване на процеса от готовност в състояние на работа, vise-стих и поддържане на готовата опашка. От друга страна, непредставящото планиране няма натоварване при превключване на процеса от състояние на готовност в състояние на готовност.
  4. В предварителен график, ако процес с висок приоритет често пристига в опашката за готовност, процесът с нисък приоритет трябва да чака дълго и може да се наложи да гладува. От друга страна, при непредставителното планиране, ако CPU е разпределено за процеса с по-голямо време на разрушаване, тогава процесите с малко време на изригване може да трябва да гладуват.
  5. Предварителното планиране е доста гъвкаво, тъй като на критичните процеси е разрешен достъп до CPU, когато пристигнат в готовата опашка, без значение какъв процес се изпълнява в момента. Непредставителното планиране е твърдо, тъй като дори ако критичен процес влезе в готовата опашка, процесът, работещ с CPU, не се нарушава.
  6. Превантивното планиране е асоциативно за разходите, тъй като трябва да поддържа целостта на споделените данни, което не е така при непредназначеното планиране.

Заключение:

Не е, че превантивното планиране е по-добро от непредставляващото планиране или менгемето. Всичко зависи от това как даден график минимизира средното време на изчакване на процесите и максимизира използването на процесора.

Top