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

      1. 7.3.1. Определение состояния программы

Состояние программы может быть представлено в виде ориентированного графа (V,E) со следующей интерпретацией и условиями:

1.      Множество V разделено на два взаимно пересекающихся подмножества P и R, представляющие процессы

и ресурсы

программы.

2.      Граф является "двудольным" по отношению к подмножествам вершин P и R, т.е. каждое ребро соединяет вершину P с вершиной R. Если реброимеет вид, тоесть реброзапроса и интерпретируется как запрос от процесса на единицу ресурса. Если реброимеет вид, тоесть реброназначения и выражает назначение единицы ресурса процессу.

3.      Для каждого ресурса существует целое, обозначающее количество единиц ресурса.

4.      Пусть - число ребер, направленных от вершинык вершине. Тогда при принятых обозначениях для ребер графа должны выполняться условия:

  • Может быть сделано не более назначений (распределений) для ресурса, т.е.

,;

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

,,.

Граф, построенный с соблюдением всех перечисленных правил, именуется в литературе как граф "процесс-ресурс". Для примера, на рисунке 7.3.приведен граф программы, в которой ресурс 1 (файл 1) выделен процессу 1, который, в свою очередь, выдал запрос на ресурс 2 (файл 2). Процесс 2 владеет ресурсом 2 и нуждается для своего продолжения в ресурсе 1.

Рис. 7.3. Граф программы

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

Запрос. Если программа находится в состоянии S и процесс не имеет невыполненных запросов, томожет запросить любое число ресурсов (в пределах ограничения 4). Тогда программа переходит в состояние T

Состояние T отличается от S только дополнительными ребрами запроса от к затребованным ресурсам.

Приобретение. Операционная система может изменить состояние программы T на состояние U в результате операции приобретения ресурсов процессом тогда и только тогда, когдаимеет запросы на выделение ресурсов и все такие запросы могут быть удовлетворены, т.е. если

.

Граф U идентичен T за исключением того, что все ребра запроса дляобратны ребрам, что отражает выполненное распределение ресурсов.

Освобождение. Процесс может вызвать переход из состоянияU в состояние V с помощью освобождения ресурсов тогда и только тогда, когда не имеет запросов, а имеет некоторые распределенные ресурсы, т.е.

,.

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

Для примера на рисунке 7.4. показаны состояния программы с одним ресурсом емкости 3 и двумя процессами после выполнения операций запроса, приобретения и освобождения ресурсов для первого процесса.

Рис. 7.4. Пример переходов программы из состояния в состояние

При рассмотрении переходов программы из состояния в состояние важно отметить, что поведение процессов является недетерминированным – при соблюдении приведенных выше ограничений выполнение любой операции любого процесса возможно в любое время.

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