![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для возникновения взаимоблокировок в системе должны выполняться
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; Прочитано: 217 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!