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

Автор: Laura McKinney
Дата На Създаване: 3 Април 2021
Дата На Актуализиране: 23 Април 2024
Anonim
QLED vs OLED: В ЧЕМ РАЗНИЦА?
Видео: QLED vs OLED: В ЧЕМ РАЗНИЦА?

Съдържание


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

  1. Сравнителна диаграма
  2. дефиниция
  3. Ключови разлики
  4. заключение

Сравнителна диаграма

Основа за сравнениетозастойглад
ОсновенЗастой е мястото, където не протича нито един процес, и се блокира.Гладът е там, където процесите с нисък приоритет се блокират и процесите с висок приоритет продължават.
Възникващо състояниеПоявата на взаимно изключване, задържане и изчакване, без предупреждение и кръгово изчакване едновременно.Изпълнение на приоритетите, неконтролирано управление на ресурсите.
Друго имеКръгово изчакване.Lifelock.
ресурсиВ безизходица заявените ресурси се блокират от останалите процеси.При глад исканите ресурси непрекъснато се използват от високо приоритетни процеси.
ПредотвратяванеИзбягвайте взаимното изключване, задръжте и изчакайте, и кръговото изчакване и разрешаването на предимство. Стареене.


Определение на Deadlock

Безизходица е ситуация, при която няколко процеса в процесора се конкурират за ограничения брой ресурси, налични в процесора. Тук всеки процес съдържа ресурс и изчаква да придобие ресурс, който се държи от някакъв друг процес. Всички процеси чакат ресурси по кръгов начин. На изображението по-долу можете да видите, че Процес P1 е придобил ресурс R2, който се изисква от процес P2, а Process P1 иска ресурс R1, който отново се държи от R2. Така че процесите P1 и P2 образуват задънена улица.

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


  • Взаимно изключване: Само един процес в даден момент може да използва ресурс, ако друг процес поиска същия ресурс, той трябва да изчака, докато процесът, използващ ресурс, го освободи.
  • Задръжте и изчакайте: Процесът трябва да съдържа ресурс и да чака да придобие друг ресурс, който се държи от някакъв друг процес.
  • Няма предварително: Процесът, задържащ ресурсите, не може да бъде предотвратен. Процесът, който държи ресурса, трябва да освободи ресурса доброволно, когато изпълни задачата си.
  • Циркулярно изчакване: Процесът трябва да изчаква ресурсите по кръгов начин. Да предположим, че имаме три процеса {P0, P1, P2}. P0 трябва да изчака ресурса, държан от P1; P1 трябва да изчака да придобие ресурса, държан от процес P2, и P2 трябва да изчака да придобие процеса, държан от P0.

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

Определение за глад

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

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

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

  1. В безизходица, нито един от процесите не пристъпва към изпълнение, всеки процес се блокира в очакване на ресурсите, придобити от другия процес. От друга страна, гладуването е условие, при което процесите, които имат по-висок приоритет, могат да придобиват ресурсите непрекъснато, като не позволяват на процесите с нисък приоритет да придобиват ресурси, което води до неограничено блокиране на ниско приоритетни процеси.
  2. Безизходицата възниква при четири условия Взаимно изключване, Задръжте и изчакайте, Без предупреждение и Циркулярно изчакване възниква едновременно. Въпреки това, гладът възниква, когато процес приоритетите са изпълнени докато разпределяте ресурси или има неконтролирано управление на ресурсите в системата.
  3. Задънката често се нарича от името кръгово изчакване като има предвид, че гладът се нарича Жив заключване.
  4. В безизходица ресурсите са блокирани от процеса, докато при гладуване процесите се използват непрекъснато от процесите с високи приоритети.
  5. Безизходицата може да бъде предотвратена чрез избягване на условията като взаимно изключване, задържане и изчакване и кръгово изчакване и като се позволи изпреварването на процесите, които държат ресурси за дълго време. От друга страна, гладуването може да бъде предотвратено от остаряване.

Заключение:

И тупикът и гладът забавят изпълнението на процеса, като го блокират. От една страна, където безизходицата може да доведе до гладуване на процеси, а от друга, гладът може да извади процесите от безизходицата.