Різниця між тупиком і голодом

Ключові відмінності: тупик відноситься до ситуації, коли процеси застрягли в круговому очікуванні ресурсів. З іншого боку, голодування виникає, коли процес очікує ресурс на невизначений час. Тупик означає голод, але голод не означає глухий кут.

У комп'ютерній системі принтери пам'яті, процесори, накопичувачі на стрічці тощо можуть розглядатися як ресурси, які повинні бути виділені різним процесам через їх вимогу. Як правило, процес спочатку запитується для використання ресурсу, і після завершення його завдання процес випускає ресурс, який буде використовуватися іншим процесом. Ситуація з тупиком виникає, коли всі заблоковані процеси одного набору займають ресурс і чекають ресурсу, який зайнятий іншим процесом у наборі.

Простим прикладом цього є система з двома стрічковими накопичувачами, а два процеси кожен займає один накопичувач на стрічці і чекає іншого як вимогу продовжувати далі.

Важливо відзначити, що ситуація з тупиком, якщо ці чотири умови виконуються одночасно -

  • Взаємне виключення - ресурс може використовуватися лише процесом одночасно
  • Тримайте і чекайте - процес, який займає принаймні один ресурс, повинен придбати додатковий ресурс, який зайнятий іншим процесом, і тому цей процес очікує, що цей ресурс звільниться
  • Ніякий витіснення - ресурс не звільняється лише від процесу, який його зайняв, після завершення його завдання.
  • Кругове очікування - всі процеси в наборах чекають ресурс, який утримують інші процеси, що включає навіть останній процес у наборі.

З іншого боку, голод виникає, коли певний процес потрібно чекати нескінченно, оскільки він ніколи не отримує шанс продовжувати далі. У цій ситуації процес або транзакція або чекає нескінченно, або знову і знову переходить в режим restarte. Це може статися в тупикової ситуації, коли є можливість, що один і той самий процес стає жертвою кожного разу і повертається назад. Це зазвичай зустрічається в системах планування на основі правильності.

Це відбувається тому, що процес гіршого пріоритету невер отримує ресурс через постійний потік процесів, які мають кращий пріоритет, ніж його, і тому процес може очікувати назавжди. Рішення для боротьби з голодом полягає в тому, щоб переконатися, що незалежний менеджер повинен керувати розподілом ресурсів, гарантуючи, що кожен процес отримує ресурс у певний момент часу. Необхідно уникати випадкових і неконтрольованих виборів або змагань, щоб запобігти голодуванню. Тупик означає голод, але голод не передбачає глухого кута.

Тому глухий кут і голод відрізняються один від одного. Тупик виникає, коли жоден з процесів у наборі не може рухатися вперед через зайнятість необхідних ресурсів іншим процесом. З іншого боку, голодування виникає, коли процес очікує на невизначений період часу, щоб отримати необхідний ресурс.

Порівняння між блокуванням і голодом:

Тупик

Голодування

Визначення

Тупик виникає, коли жоден з процесів у наборі не може рухатися вперед через зайнятість необхідних ресурсів іншим процесом

Голодування відбувається, коли процес очікує на невизначений період часу, щоб отримати необхідний ресурс.

Інша назва

Циркулярне очікування

Жив замок

Виникаючі умови

Ці чотири умови виникають одночасно - взаємне виключення, тримаються і чекають, не-виключення і круговий дотепність

Неконтрольоване управління ресурсами

Пріоритети процесу суворо дотримуються
Використання випадкового вибору

Дефіцит ресурсів

Методи запобігання / запобігання

  • Нескінченні ресурси
  • Очікування не дозволено
  • Спільний доступ не дозволено
  • Випереджайте ресурси
  • Усі запити, зроблені під час запуску
  • Незалежний менеджер для кожного ресурсу
  • Немає жорсткого дотримання пріоритетів
  • Уникнення випадкового вибору
  • Забезпечення більшої кількості ресурсів

Прогрес

Жоден процес не може досягти прогресу

Крім процесу жертв, інші процеси можуть прогресувати або продовжуватися

Закінчення

Вимагає зовнішнього втручання

Може або не вимагати зовнішнього втручання

Рекомендуємо

Схожі Статті

  • різниця між: Різниця між коучингом і наставництвом

    Різниця між коучингом і наставництвом

    Ключові відмінності: Коучинг і наставництво - це дві подібні методи розвитку, які зазвичай використовуються на роботі з метою підвищення продуктивності та навичок людини. Коучинг часто має короткий термін, тоді як наставництво є постійним процесом. Коучинг спрямований на досягнення конкретних навичок і цілей, то
  • різниця між: Різниця між HTC One X + і HTC One

    Різниця між HTC One X + і HTC One

    Ключова різниця: HTC One X + має 4, 7-дюймовий супер-LCD 2 сенсорний екран з щільністю пікселів приблизно 312 ppi, що означає, що екран досить приголомшливий, і він не показує жодних пікселів. Пристрій живиться від 1, 7 ГГц чотирьохядерним процесором NVIDIA Tegra 3, що робить його швидше, ніж оригінальний HTC One X. HTC очі
  • різниця між: Різниця між CDMA і GSM

    Різниця між CDMA і GSM

    Ключова різниця: CDMA дозволяє декільком користувачам на одному каналі, використовуючи унікальні коди. GSM поділяє користувачів на тимчасові інтервали або на різні частоти, де тільки одному користувачеві дозволяється одночасно використовувати один слот каналу. При покупці мобільного телефону звичайна людина зазвичай не піклується про тип каналу, який він використовує, частоту, спосіб передачі даних або GSM або CDMA; він піклується лише про компанію, яку він вважає за кращ
  • різниця між: Різниця між HTML5 і XHTML5

    Різниця між HTML5 і XHTML5

    Ключова різниця: HTML5 є п'ятим переглядом стандарту HTML. HTML означає HyperText Markup Language. Це добре відома мова розмітки, яка використовується для розробки веб-сторінок. Основними цілями HTML5 було вдосконалення мови з підтримкою новітніх мультимедіа. XHTML5 - це XML-серіалізація HTML5. XHTML5 по суті є гібридом XML і HTML5. XHTML5 використовує строгий, добре сформований синтаксис XML. HTML5 є п'ятим переглядом стандарту
  • різниця між: Різниця між LOC і LAC

    Різниця між LOC і LAC

    Ключова різниця: LOC - лінія контролю. Вона визначає межу, що відокремлює частини Кашміру, контрольовані Індією та Пакистаном. LAC означає Line of Actual Control. Це також кордон між Індією та Китаєм. LOC - це розмежована межа, позначена військовими. З іншого боку, LAC не розмежовується і складається з величезного порожнього простору.
  • різниця між: Різниця між Windows Phone 7.8 і Windows Phone 8

    Різниця між Windows Phone 7.8 і Windows Phone 8

    Основна різниця: Windows Phone 7.8 - це оновлення серії Windows Phone 7 OS, доступних у Windows Phone 7.5. Windows Phone 7.8 оновлення був випущений, як Windows Phone 7 і 7, 5 не в змозі оновити до Windows 8. Windows Phone 8 є другою генерацією операційної системи для Microsoft Windows Phone серії. Система 8 використовує той же інтерфейс Metro, що і його попередники. Система Windows 8 не працює на архітектурі Windows 7
  • різниця між: Різниця між C ++ і Visual C ++

    Різниця між C ++ і Visual C ++

    Основна різниця: C ++ - це мова програмування загального призначення, але розроблена з мови програмування C. Він був розроблений Бьорном Страуструпом у Bell Labs, починаючи з 1979 року. C ++ спочатку називався C з Classes. Він був перейменований в C ++ у 1983 році. З іншого боку, Visual C ++ взагалі не є мовою програму
  • різниця між: Різниця між соціологією та психологією

    Різниця між соціологією та психологією

    Ключова різниця: соціологія - це вивчення соціальної поведінки людини. Дослідження фокусується на розумінні різних соціальних заходів, функцій, структур і ролей людського суспільства. Психологія - це вивчення людського розуму і його функціонування. Психологія - це різноманітна дисципліна, яка пов'язана з розумінням функції мозку, а
  • різниця між: Різниця між HTML і JSP

    Різниця між HTML і JSP

    Основна відмінність: HTML означає HyperText Markup Language. Це добре відома мова розмітки, яка використовується для розробки веб-сторінок. Вона існує довгий час і зазвичай використовується в дизайні веб-сторінок. JSP означає JavaServer Pages. В основному він використовується для розробки динамічних веб-сторінок. Технологія JSP дозволяє швидко розвивати та легко

Вибір Редакції

Різниця між крикетом і бейсболом

Ключова різниця: Крикет - це вид спорту, який грають між двома командами по 11 гравців, кожен на прямокутному полі з висотою 22 ярди. Бейсбол складається з двох команд з дев'ятьма гравцями, кожен з яких по черзі вати / ударяє і виставляє / хитує. Ці ігри відрізняються правилами, правилами, геймплеєм, приладом, м'ячем тощо. Крикет і бейсбол - це два види спорту, які є улюбленими розвагами в багатьох країнах. Ці дві популярні ігр