Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Взаимоблокировки



Для возникновения взаимоблокировок в системе должны выполняться

4 условия:

1) Условие взаимного исключения

Каждый ресурс в каждый момент времени отдан ровно одному процессу и недоступен.

2) Условие удерживания и ожидания

Процесс, в данный момент удерживающий полученные ресурсы, может запрашивать новые ресурсы.

3) Условие отсутствия принудительной выгрузки ресурсов.

4) Условие циклического ожидания

Должна существовать последовательность из 2-х или более процессов, каждый из которых ждет доступа к ресурсу, удерживающим другим членом последовательности.


Взаимоблокировки моделируются при помощи направленных графов.


При наличии ресурсов разного типа используется матричный метод обнаружения взаимоблокировок.

Пусть имеются:

множество процессов P={P1,P2,…,Pn}, где n – число процессов;

множество ресурсов E={E1,E2,..,Em}, где m – число классов ресурсов;

вектор доступных ресурсов A = {A1,A2,…,Am}, Ai ≤Ei, i=1..m;

матрица текущего распределения ресурсов С={Cij, где i=1..n, j=1..m}, где Cij – количество ресурсов j-того класса, что занимает процесс Pi;

Матрица требуемых или запрашиваемых ресурсов R={Rij, где i=1..n, j=1..m}.

Справедливо m-соотношений по ресурсам:

+Aj = Ej, где j=1..m

В исходном состоянии все процесс не маркированы (не отмечены).





Дата публикования: 2015-10-09; Прочитано: 208 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...