Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2 / Lectures_9_12 / Лекция 7.doc
Скачиваний:
30
Добавлен:
03.06.2014
Размер:
147.46 Кб
Скачать
      1. 7.3.2. Описание возможных изменений программы

Определение состояния программы и операций перехода между состояниями позволяет сформировать модель параллельной программы следующего вида.

Под программой будем понимать систему

,

где есть множество состояний программы (S, T, U,…), апредставляет множество процессов.Процесс есть частичная функция, отображающая состояния программы в непустые подмножества состояний

,

где есть множество всех подмножеств. Обозначим множество состояний, в которые может перейти программа при помощи процесса(область значений процесса ) при нахождении программы в состояниичерез. Возможность перехода программы из состоянияв состояниев результате некоторой операции над ресурсами в процессе(т.е.) будем пояснять при помощи записи

.

Обобщим данное обозначение для указания достижимости состояния из состоянияв результате выполнения некоторого произвольного количества переходов в программе

          1. 7.3.3. Обнаружение и исключение тупиков

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

  • процесс заблокирован в состоянии , если программа не может изменить свое состояние при помощи этого процесса, т.е. еслиØ;

  • процесс находится в тупике в состоянии , если этот процесс является заблокированным в любом состоянии, достижимом из состояния, т.е.

Ø;

  • состояние  называется тупиковым, если существует процесс ,находящийся в тупике в этом состоянии;

  • состояние  есть безопасное состояние, если любое состояние , достижимое из ,не является тупиковым.

Рис. 7.5. Пример графа переходов программы

Для примера на рис. 7.5 приведен граф переходов программы, в котором состояния U и V являются безопасными, состояния S и T и W не являются безопасными, а состояние W есть состояние тупика.

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

Теорема. Граф "процесс-ресурс" для состояния программы с ресурсами единичной емкости указывает на состояние тупика тогда и только тогда, когда он содержит цикл.

7

Соседние файлы в папке Lectures_9_12