Разлика между задънена улица и глад

Съдържание:

Разлика между задънена улица и глад
Разлика между задънена улица и глад

Видео: Разлика между задънена улица и глад

Видео: Разлика между задънена улица и глад
Видео: ДОКЛАД ИСКОННАЯ ФИЗИКА АЛЛАТРА. ВИДЕО-ВЕРСИЯ. ALLATRA SCIENCE 2024, Може
Anonim

Тупик срещу глад

Основната разлика между задънена улица и глад е причинно-следствената връзка между тях; това е задънена улица, която причинява глад. Друга интересна разлика между блокирането и гладуването е, че блокирането е проблем, докато гладуването понякога може да помогне за излизане от задънена улица. В компютърния свят, когато пишете компютърна програма, ще има повече от един процес / нишка, които едновременно ще се изпълняват един след друг, за да изпълни необходимата услуга на програмата. Следователно, за да има справедлива система, програмистът трябва да гарантира, че всички процеси / нишки ще получат или ще получат достатъчно достъп до необходимите им ресурси. Ако не, ще има задънена улица и по-късно ще доведе до глад. Като цяло, справедливата система не съдържа задънена улица или глад. Безизходица и гладуване ще възникнат главно, когато много нишки се конкурират за ограничени ресурси.

Какво е Deadlock?

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

В момента блокирането е един от основните проблеми в многопроцесорните системи и паралелните изчисления. Като решение се използва заключваща система, наречена синхронизация на процесите, както за софтуер, така и за хардуер.

Разлика между задънена улица и глад
Разлика между задънена улица и глад

Какво е глад?

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

За да се измъкне от задънена улица, един от процесите или нишките трябва да се откаже или да се върне назад, така че другата нишка или процес да може да използва ресурса. Ако това се случва непрекъснато и един и същ процес или нишка трябва да се откажат или да се върнат всеки път, докато оставят други процеси или нишки да използват ресурса, тогава избраният процес или нишка, които са се върнали, ще претърпи ситуация, наречена глад. Следователно, за да се измъкнем от задънена улица, гладуването е едно от решенията. Следователно, понякога гладуването се нарича вид бивол. Когато има много процеси или нишки с висок приоритет, процесът или нишката с по-нисък приоритет винаги ще гладуват в безизходица.

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

Тупик срещу глад
Тупик срещу глад

„Философите за хранене“

Каква е разликата между Deadlock и Starttion?

• Процес:

• В блокиране двете нишки или процеси ще чакат една друга и двете не продължават напред.

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

• Отмяна:

• В задънена улица както нишките / процесите с висок приоритет, така и нишките / процесите с нисък приоритет ще си чакат безкрайно. Никога не свършва.

• Но при гладуване тези с нисък приоритет ще изчакат или ще се върнат назад, но тези с висок приоритет ще продължат.

• Изчакване или заключване:

• Тупикът е кръгово изчакване.

• Гладуването е вид бивол и понякога помага за излизане от задънена улица.

• Тупик и глад:

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

• Причини:

• Ще настъпи задънена улица поради взаимно изключване, задържане и изчакване, без изпреварване или кръгово изчакване.

• Гладът възниква поради недостиг на ресурси, неконтролирано управление на ресурси и приоритети на процеса.

Резюме:

Тупик срещу глад

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

Снимките са предоставени:

  1. Компютър от Стив Юрветсън от Menlo Park, САЩ (CC BY 2.0)
  2. „Философите за хранене“от Bdesham (CC BY-SA 3.0)

Препоръчано: