--- FIGURE 6.1 ---
6.1 Принцини на "мъртва хватка" (МХ)
Пример.
PROCESS P
... Get A ... Get B ... Release A ... Release B ... |
PROCESS Q
... Get B ... Get A ... Release B ... Release A ... |
PROCESS P
... Get A ... Get B ... Release A ... Release B ... |
PROCESS Q
... Get B ... Get A ... Release B ... Release A ... |
Възможна промяна в работата на процеса - за избягване
на МХ:
--- FIGURE 6.3 ---
PROCESS P
... Get A ... Release A ... Get B ... Release B ... |
PROCESS Q
... Get B ... Get A ... Release B ... Release A ... |
** Многократно използваеми ресурси (Reusable Resources) - процесори, I/O канали, основна и допълнителна памет, устройства, структури от данни като файлове, бази данни и семафори.
Пример 1.
Два процеса P и Q използват ресурси магнитен диск
D и магнитна лента T.
Process P
|
Process Q
|
Пример 2.
Два процеса се конкурират за ресурс 200MB памет.
Process P1 | Process P2 |
...
Request 80 MB ... Request 60 MB |
...
Request 70 MB ... Request 80 MB |
** Условия за МХ.
1. Взаимно изключване (mutual exclusion) - само
един процес може да владее ресурс в даден момент.
2. Владея и чакам (очакване на ресурси, hold and
wait) - един процес блокира (владее) един ресурс, докато чака за друг.
3. Няма отстъпки (непреразпределение, no preemtion)
- един ресурс не може да бъде насилствено освободен от владението на процес.
МХ може да се появи при тези 3 условия, но може
и да не се появи. Следващото условие е достатъчно за поява на МХ.
4. Циклично чакане (circular wait) - затворена
верига от процеси, като всеки процес владее пони един ресурс, за който
чака следващият процес от веригата.
--- FIGURE 6.5 ---