Взаємне блокування: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Вилучено вміст Додано вміст
Deineka (обговорення | внесок) |
Немає опису редагування |
||
Рядок 1:
'''Взає́мне блокува́ння''' — ситуація, коли кожен із групи [[процес]]ів очікує на подію, яку може викликати лише інший процес з цієї групи.<ref>(Таненбаум 2002), глава 3 , стор. 188.</ref><ref>(Abraham 2005), глава 7, стор. 246.</ref> Часто, така ситуація спостерігається в [[парадокс]]ах типу «Курка або яйце». Також зустрічаються назви ''тупикова ситуація'', ''тупик'', ''[[клінч]]''. В англомовній літературі
В галузі [[інформаційні технології|інформаційних технологій]], взаємним блокуванням називають ситуацію, коли два або більше [[процес]]ів чекають поки інший не не звільнить певний ресурс, або коли більше ніж два процеси чекають на звільнення ресурсів в замкненому ланцюгу.
В якості прикладу схожої ситуації можна навести двох чоловіків, що креслять схеми, маючи лише одну лінійку та один олівець. Якщо один
Взагалі кажучи, блокуванням (або [[зависання]]м) є така ситуація, коли не залежно від того, скільки сплине часу, жоден прехід із одного стану в інший відбутись не може.<ref>(Bowman, Gomez) розділ 12.2</ref>
Рядок 82:
Тепер, для уникнення циклічного очікування, встановимо наступне правило: ''процес може запитувати ресурси лише в зростаючому порядку номерів''. Як варіант, процес має звільняти ресурс з більшим порядковим номером перед поданням запиту на ресурс з меншим номером.
Незважаючи на те, що встановлення та дотримання правильного порядку отримання доступу до ресурсів є відповідальністю розробника ПЗ, існють спеціалізовані інструменти для перевірки дотримання порядку та повідомлення про помилки. Одним
== Посилання ==
|