Лекция - Тема 4 - Мъртва хватка
| Информационни технологии | 2009-12-04 | 214 сваляния |
Глава IV. МЪРТВА ХВАТКА
В мултипрограмната среда може да настъпи безизходна ситуация, при която два или повече процеси чакат за условия, които никога няма да настъпят. Подобна ситуация се нарича взаимна блокировка, мъртва хватка (deadlock) и др. В изложението дотук бяха давани примери (вж. гл. II) за подобно състояние на процесите, чието възникване зависи от относителната скорост на паралелните процеси и се дължи на грешки при програмирането. При проектирането на ОС могат да се срещнат много по-сложни случаи на мъртва хватка. Практически е много важно взаимното блокиране при разпределението на ресурсите, на което е посветено следващото изложение.
Разпределението на ресурсите е една от главните функции на ОС. Когато ресурсите се разпределят между много потребители, всеки от които има монополно право за управление на отделения му ресурс, възможно е да настъпи мъртва хватка. Според [23, 52, 63] могат да се различат постоянни (повторно ызползваеми) и временни (потребими) ресурси. Пример за постоянните ресурси са устройствата, а за временните - съобщенията (те се произвеждат и се консумират). Най-напред ще бъдат разгледани проблемите на мъртвата хватка при постоянните ресурси [7, 23, 39, 52, 57, 58, 63, 64, 83, 85, 88, 93].
4.1. МЪРТВА ХВАТКА ПРИ РАСПРЕДЕЛЕНИЕ НА РЕСУРСИТЕ
Постоянните ресурси могат да бъдат физически (процесор, памет, устройства) или логически (файлове от данни, програми, таблици). Някои ресурси допускат съвместно използване от няколко процеса (например процесора, паметта, дисковете), а други се закрепват" към индивидуален процес за монополно използване за определено време (например магнитна лента). По-често възниква мъртва хватка при ресурси от втория тип.
П
ричините за възникване на мъртва хватка при работа с ресурсите ще бъдат илюстрирани с прост пример. Предполага се, че процес заявява ресурс, преди да го използва. Ако ресурсът не е свободен, процесът се блокира. Или процесът се ръководи по схемата: заяви ресурс, използвай ресурс, освободи ресурс. Нека два процеса - А и В, да споделят два ресурса р1 и р2. Всеки един от тях е заявил и е получил по един ресурс, след което е заявил и чака за следващ ресурс, но не освобождава своя (фиг. 4.1 а), т.е. възниква мъртва хватка.
Фиг. 4.1. Пример за мъртва хватка и пространството на възможните ходове
Тагове от реферата: мулипрограмна, подоб, сития, екция, повеч, никога, среда, условия, процеси











