Операционные системы. Теория и практика. Замятин А.В. - 77 стр.

UptoLike

Составители: 

77
В качестве необходимых условий возникновения тупиков называют
следующие четыре:
1) Условие взаимоисключения (англ. Mutual exclusion). Одновре-
менно использовать ресурс может только один процесс.
2) Условие ожидания ресурсов (англ. Hold and wait). Процессы
удерживают ресурсы, уже выделенные им, и могут запрашивать другие
ресурсы.
3) Условие «неперераспределяемости» (англ. No preemtion). Ресурс,
выделенный ранее, не может быть принудительно забран у процесса до
его завершения. Освобождены они могут быть только процессом, кото-
рый их удерживает.
4) Условие кругового ожидания (англ. Circular wait). Существует
кольцевая цепь процессов, в которой каждый процесс ждет доступа к
ресурсу, удерживаемому другим процессом цепи.
Соответственно, решить проблему возникновения тупиков можно
путем избегания описанных выше ситуаций 2-4 (ситуация взаимоис-
ключения – объективна):
ситуацию ожидания дополнительных ресурсов можно нарушить,
если потребовать, чтобы процессы запрашивали сразу все ресурсы од-
новременно (очевидные недостатки снижение уровня мультипрограм-
мирования и нерациональное использование ресурсов);
ситуацию «неперераспределяемости» можно нарушить, если по-
требовать, чтобы процесс, который не получил дополнительных ресур-
сов, сам освобождал удерживаемые;
ситуацию кругового ожидания можно предотвратить, если про-
цессы запрашивают ресурсы в заранее определенном порядке, то есть
ресурсы имеют уникальные упорядоченные номера, которые распреде-
ляются в соответствии с некоторым планом (планирование распределе-
ния ресурсов).
Восстановление системы после тупиков. При возникновении ту-
пиковой ситуации не обязательно снимать с выполнения все заблокиро-
ванные процессы, а можно:
снять только часть из них, при этом освобождая ресурсы, ожи-
даемые остальными процессами;
вернуть некоторые процессы в область «свопинга»;
совершить «откат» некоторых процессов до некоторой кон-
трольной точки (т.е. места, где возможен тупик), в которой запоминает-
ся вся информация, необходимая для восстановления выполнения про-
граммы с данного места.
Игнорирование. Простейший подход не замечать проблему ту-
пиков. Для того чтобы принять такое решение, необходимо оценить ве-