Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовые билеты по СППО к .doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
622.59 Кб
Скачать

Вопрос 16. Модель системы с повторно используемыми ресурсами (граф повторно используемых ресурсов). Примеры.

Повторно используемый ресурс (ПИР или ресурс типа SR) - это ресурс, состоящий из конечного множества идентичных единиц со следующими свойствами:

  • число единиц ресурса постоянно;

  • отсутствует возможность разделения ресурса (параллельного использования одних и тех же единиц ресурса несколькими процессами) - ресурс захватывается процессом, которому он выделен, в монопольное использование;

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

  • Состояние системы с повторно используемыми ресурсами может изменяться только тремя операциями:

  • request (Ri, k) - запрос процесса pj, выполняющего данную операцию, на k единиц ресурса Ri ;

  • приобретение ресурса (выделение ресурса процессу pj в соответствии с выполненным им ранее запросом);

  • release (Ri, k) - освобождение процессом pj k единиц ранее выделенного ему ресурса Ri .

Операции запроса на ресурс и освобождения ресурса выполняются процессом, а операция выделения ресурса - системой в ответ на запрос, сделанный процессом.

Граф ПИР (SR-граф) - ориентированный двудольный граф

SR = (N, E),

где N есть множество вершин:

N =   

( = { p1 , p2 , ..., pn}- конечное множество вершин, представляющих процессы в ВС,  = { R1 , R2 , ..., Rm} - множество вершин, соответствующих SR-ресурсам ВС;    = ), а E - множество дуг графа:

E  (    )  (  ),

причем элементы графа обладают следующими свойствами:

  • Ri - вершина, представляющая повторно используемый ресурс Ri  , имеет пометку - пару (ci, ti ), где ci - емкость данного ресурса, а ti - количество единиц ресурса, доступных для распределения (свободных) в данный момент;

  • pj - вершина, представляющая процесс pj   в системе;

  • Прямая соединительная линия 41 pj k Ri - ребро ( pj , Ri ) с весом | ( pj , Ri ) | = k, представляющее вып олненный процессом pj  , но пока не удовлетворенный запрос на k единиц повторно используемого ресурса Ri   ;

  • R Прямая соединительная линия 37 i k pj - ребро ( Ri, pj ) с весом | ( Ri, pj ) | = k, представляющее все распределения ресурса Ri   процессу pj   по его удовлетворенным запросам ;

  • каждый запрос, выполняемый процессом pj   на ресурс Ri   должен удовлетворять ограничению:

| ( Ri, pj ) | + | ( pj , Ri ) |  ci,

тПрямая соединительная линия 34 о есть сумма выполненных распределений и запросов конкретного ресурса относительно любого из процессов не может превышать количества единиц ресурса, имеющихся в системе для всех i и j (i = 1, m, j = 1, n ); в противном случае запрос считается ошибочным и не может быть выполнен;

  • в общей сложности в системе для каждого ресурса Ri   может быть сделано не более чем ci назначений, то есть

n

 | ( Ri, pj ) |  ci

j = 1

Процесс 1

Процесс 2

process P1 ;

begin ...

request ( R1, 1) ;

...

request ( R2, 1) ;

...

release ( R2, 1) ;

...

release ( R1, 1) ;

...

end.

process P2 ;

begin ...

request ( R2, 1) ;

...

request ( R1, 1) ;

...

release ( R2, 1) ;

...

release ( R1, 1) ;

...

end.

Предположим, что процессы выполняют свои операции над ресурсами в порядке, который приводит к изменению состояний системы, показанному последовательно изменяемыми графами ПИР, приведенными на рис.2.10. Последний граф ПИР соответствует тупиковому состоянию системы S7 (процессы P1 и P2 взаимно блокируют друг друга). Другая последовательность выполнения операций могла бы позволить процессам успешно завершиться.

Пример 2. В системе выполняются n процессов и существует разделяемый повторно используемый ресурс R емкости m. Описание программы каждого процесса выглядит следующим образом:

process P1 ;

begin ...

request ( R, 1) ;

...

request ( R, 1) ;

...

release ( R, 1) ;

...

release ( R, 1) ;

...

end.