Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

1. Пусть в системе есть два процесса P1 и P2 и два единичных повторно используемых ресурса R1 и R2. Процессы имеют следующее описание:



1. Пусть в системе есть два процесса P1 и P2 и два единичных повторно используемых ресурса R1 и R2. Процессы имеют следующее описание:

Процесс 1

Процесс 2

process P1;

begin...

While true do

begin …

request ( R1, 1 );

...

request ( R2, 1 );

...

release ( R2, 1 );

...

release ( R1, 1 );

...

end

...

end.

process P2;

begin...

While true do

begin …

request ( R2, 1 );

...

request ( R1, 1 );

...

release ( R2, 1 );

...

release ( R1, 1 );

...

end

...

end.

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

 
 


-тупиковые состояния - процесс заблокирован, но не в тупике

 

Тупиковые состояния возможны т.к. выполняются условия:

1) мультизадачная система

2) монополизация ресурса – взаимное исключение при работе с разделяемыми ресурсами (для последовательно используемых ресурсов).

ожидание ресурса – процесс, запросивший ресурс, не отказывается от своего запроса.

3) неперераспределяемость ресурса – ресурс, который выделен процессу, не может быть перераспределен другому процессу, пока 1-й его не освободит.

4) циклическое ожидание: Если графически представить процессы и ресурсы как вершины графа, операции запроса и выделения ресурса дугами, то циклическое ожидание означает цикл в таком графе ”смертельные объятия”


 

2. Для описанной выше системы с ПИР покажите, как будут меняться состояния при выполнении процессов, представляя их графами ПИР (выполните «трассировку» для трех возможных вариантов параллельного выполнения процессов). Если имеется тупиковое состояние, покажите с помощью операций над графом ПИР, последовательно выполняя их в соответствии с кодом процессов, каким образом система может перейти в тупиковое состояние.


 

3. Пусть в системе есть два процесса P1 и P2 и два потребляемых ресурса R1 и R2, используемых этими процессами. Ресурс R1 производится процессом P1, а R2 – P2. Процессы имеют следующее описание:

Процесс 1

Процесс 2

process P1;

begin...

While true do

begin …

request ( R2, 1 );

...

release ( R1, 1 );

...

end

...

end.

process P2;

begin...



While true do

begin …

request ( R1, 1 );

...

release ( R2, 1 );

...

end

...

end.

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

 

Тупиковых состояний нет. Есть только ситуации, когда 1 из процессов остается заблокированным, но не в тупике. Такие ситуации достигаются если в начальный момент времени количество ресурсов: R1=n R2=k, тогда если отработал только процесс 1 k-раз, то ресурс R2 кончится, а чтобы его восстановить надо отработать процессу 1. Тоже самое произойдет и когда процесс 2 в одиночку отработает n-раз.

(эти состояния обозначены )

 

 

Тупиковое состояние возникло, если бы в начальный момент времени n=0 и k=0.

4. Для описанной выше системы с ПР покажите, как будут меняться состояния при выполнении процессов, представляя их графами ПР (выполните «трассировку» для различных возможных вариантов параллельного выполнения процессов). Если имеется тупиковое состояние, покажите с помощью операций над графом ПР, последовательно выполняя их в соответствии с кодом процессов, каким образом система может перейти в тупиковое состояние.


 

Процесс 1

Процесс 2

process P1;

begin...

While true do

begin …

request ( R1, 1 );...

request ( R2, 1 );...

release ( R2, 1 );...

release ( R1, 1 );...

end...

end.

process P2;

begin...

While true do

begin …

request ( R2, 1 );...

request ( R1, 1 );...

release ( R2, 1 );...

release ( R1, 1 );...

end...

end.

5. Для описанной выше системы с ПИР (задание 1 в данной теме) покажите, покажите, каким образом изменится ее состояние, если процессы «успеют» выполнить следующие действия (в том порядке, который показан ниже – в таблице); впишите в ячейки таблицы операции, которые выполняет система в том порядке (система выделяет ресурсы в ответ на запросы), который обеспечивает данную трассу процессов:

 

Номер операции при параллельном выполнении процессов

Задание А

Процесс 1

Процесс 2

 

 

 

 

 

request ( R2, 1 );

 

request ( R1, 1 );

 

 

 

 

 

request ( R2, 1 );

 

 

 

 

 

release ( R2, 1 );

 

 

 

 

 

 

request ( R1, 1 );

 

 

 

 

release ( R1, 1 );

 

 

 

 

 

 

release ( R2, 1 );

 

 

 

 

 

release ( R1, 1 );

 

 

 

 


Дата добавления: 2015-08-27; просмотров: 48 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Моряк это надо тебе! Читать до конца! Если в голове что то есть - поймешь многое ))) 5 страница | Я вспоминаю пару молодых людей, которые много лет назад с улицы пришли на наше служение, Джеймс и Мэри Томас. Эта пара была бездомными бродягами, которые воровали для удовлетворения своего

mybiblioteka.su - 2015-2024 год. (0.015 сек.)