Операційна система - це найважливіше програмне забезпечення, яке працює на комп’ютері. Він відповідає за управління пам’яттю та процесами комп'ютера, а також захист деталей обладнання від прикладних програм, що використовують його. Операційна система комп’ютера також забезпечує справедливий розподіл ресурсів для користувачів та програм на відміну від рівного розподілу між процесами. Система справедливого планування дозволяє одному процесу використовувати процесор, а інший чекає в черзі. В результаті кожен потік отримує достатній доступ до обмежених ресурсів, що запобігає двом найпоширенішим умовам, які інакше затримали б процес: Тупик та Голодування. Обидва є пов'язаними поняттями, коли процеси не мають доступу до ресурсів. У цій статті висвітлено деякі основні моменти, порівнюючи їх на різних фронтах.
Тупик - умова, коли набір потоків заблокований, оскільки кожен процес, що містить ресурс, намагається отримати доступ до деяких інших ресурсів, які утримує інший процес, врешті-решт запобігаючи справедливому плануванню системи. Ситуація з тупиком виникає, коли такі чотири умови виконуються: взаємне виключення означає, що лише один процес може отримати доступ до ресурсу за один раз; Жодна умова попередження не означає, що ресурс може бути звільнений лише добровільно шляхом процесу, що містить ресурс; Утримувати і чекати означає, що процес, що містить ресурси, може вимагати додаткових ресурсів, що містяться в інших процесах; Циркулярне очікування означає, що два або більше процесів застрягають у круговій ланцюжку, чекаючи, поки кожен процес вивільнить свої ресурси.
Голодування - це умова, яка виникає, коли процес переходить у період очікування на невизначений термін, оскільки процес з низьким пріоритетом ніколи не отримує шансу отримати доступ до ресурсу через постійний потік високоприоритетних процесів, що звертаються до одного і того ж ресурсу. Це проблема управління ресурсами, оскільки процес заборонений у доступі до потрібного ресурсу, тим самим підштовхуючи процес до невизначеного періоду очікування. Це відбувається тому, що потрібний йому ресурс ніколи не виділяється на процес, який змушує голодувати за ресурсами, звідси і назва. Найкращий спосіб уникнути голоду - використовувати техніку старіння, яка поступово збільшує пріоритет процесів, які тривалий час перебувають у періоді очікування, щоб забезпечити справедливу систему планування.
І тупикова ситуація, і голодування є суміжними поняттями, які перешкоджають справедливому плануванню системи, де процеси не мають доступу до ресурсів. Тупик, як випливає з назви, посилається на умову, коли набір потоків або процесів заблокований, тому що кожен процес чекає, щоб отримати ресурс, який утримується іншим процесом, що призводить до ситуації з тупиком, коли програми перестають функціонувати. З іншого боку, голодування викликається тупиком, який спричиняє замерзання процесу, оскільки відсутній доступ із низьким пріоритетом до доступу до ресурсу, призначеного для процесу з високим пріоритетом.
Тупик посилається на конкретну умову, яка виникає, коли потік або процес переходить у період очікування, тому що системний ресурс, який він запитував, утримується іншим процесом, який, у свою чергу, чекає, коли інший процес звільнить свій ресурс, тим самим створивши тупик. Це викликано поганим використанням ресурсів. Голодування - це невизначена умова відстрочки, коли процес із низьким пріоритетом позбавлений доступу до необхідних йому ресурсів, оскільки ресурси розподіляються на інший процес з високим пріоритетом. Це проблема управління ресурсами, яка змушує систему виділяти ресурси лише для процесів з високим пріоритетом.
Тупик - це кінцева форма голоду, яка виникає, коли одночасно виникають чотири умови: Взаємне виключення, Без попередження, Затримка і чекання та кругообічне очікування. Умова тупикової ситуації виникає лише в системах, в яких усі чотири умови справджуються. Голодування виникає на основі різних умов, таких як, коли не вистачає ресурсів, а пріоритет процесів починає знижуватися або коли процеси починають передавати ресурси іншим процесам без контролю. Якщо процес з низьким пріоритетом вимагає ресурсу, зарезервованого для процесів з найвищим пріоритетом, процес голодує назавжди. Голодування також виникає, коли ресурси розподіляються довільно, змушуючи процеси чекати довший проміжок часу.
Голодування можна запобігти, використовуючи правильний алгоритм планування з чергою пріоритетів, який фактично також використовує техніку старіння - техніку планування, яка додає коефіцієнт старіння до пріоритету кожного запиту, тобто збільшує рівень пріоритетності процесів з низьким пріоритетом, які чекали довго. Також надання більшої кількості програм для програм повинно уникати постійного скупчення ресурсів. Щоб система не зайшла в глухий кут, процесам потрібно забороняти доступ до одного або декількох ресурсів, одночасно чекаючи інших, і лише одному процесу потрібно дозволити одночасно отримувати доступ до ресурсу..
І тупик, і голодування є суміжними поняттями в багатопроцесорних операційних системах або розподілених системах, які змушують один або кілька потоків або процесів затримуватися в очікуванні необхідних їм ресурсів. Тупик - це ситуація, яка виникає, коли один або більше процесів вимагають доступу до того самого ресурсу, що призводить до заморожування процесу, тоді як голодування викликається тупиком, який виштовхує процес до невизначеного стану відстрочки, оскільки процесам заборонено доступ до ресурсу, який зберігається процес з високим пріоритетом і потрібно чекати вічно.