Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OC - Лекция 5 / ОПЕРАЦИОННЫЕ СИСТЕМЫ_5.ppt
Скачиваний:
22
Добавлен:
21.05.2015
Размер:
207.36 Кб
Скачать

Алгоритмы предотвращения тупиков

выделение всех необходимых ресурсов;

выделение ресурсов в порядке присвоенных номеров;

метод Габермана;

алгоритм банкира.

21

Метод Габермана

Системе требуются

a)ориентированный граф, в котором узлы соответствуют процессам, а дуга проводится от узла i к узлу j, если процесс j может запросить ресурс, который запрашивает процесс i;

b)предварительная информация о ресурсах, необходимых каждому процессу. Она хранится в таблице, в которой строки соответствуют процессам, а столбцы – ресурсам;

c)таблица учета выделенных ресурсов.

22

Правило Габермана гласит

Состояние является опасным, если граф содержит цикл.

Алгоритм вызывается при каждом запросе и возврате ресурса.

Например

 

A

B

C

D

P1

1

1

 

 

P2

1

1

1

 

P3

 

1

1

1

P4

1

 

1

1

 

 

 

 

23

Пусть P1 запрашивает A

 

 

A

B

C

D

 

 

P1

1

1

 

 

 

 

P2

1

1

1

 

P1

P2

P3

 

1

1

1

 

 

 

P4

1

 

1

1

 

 

Ресурс свободен, цикла нет -ресурс выделяется.

P3

P4

24

Пусть P2 запрашивает A

 

A

B

C

D

P1

1

1

 

 

P2

1

1

1

 

P3

 

1

1

1

P4

1

 

1

1

Ресурс занят – процесс блокируется

25

Пусть P3 запрашивает B

 

A

B

C

D

 

P1

1

1

 

P1

P2

P2

1

1

1

 

 

P3

 

1

1

1

 

P4

1

 

1

1

 

Ресурс свободен,

 

 

цикла нет –ресурс

P3

P4

выделяется.

 

 

26

Пусть P4 запрашивает D

 

A

B

C

D

P1

1

1

 

 

P2

1

1

1

 

P3

 

1

1

1

P4

1

 

1

1

Ресурс свободен, цикл есть - ресурс не

выделяется. Процесс блокируется. Граф возвращается в предыдущее состояние

P1 P2

P3

P4

P1 P2

P3

P4

 

27

Алгоритм банкира

Используется для распределения делимых ресурсов.

Пример. Пусть в системе имеется 10 единиц некоторого ресурса и работают 3 процесса, использующих этот ресурс.

процесс

max потр.

выделено

P1

4

2

P2

7

3

P3

8

2

28

Пусть P1 запрашивает 2 устройства

процесс

max потр.

выделено

P1

4

4

P2

7

3

P3

8

2

P1 получит все нужные ему ресурсы, завершит работу и освободит полученные им ресурсы, тогда сможет завершиться P2, а после его завершения и P3.

Т.е. этот запрос безопасный.

29

Пусть P2 запрашивает 2 устройства

процесс

max потр.

выделено

P1

4

2

P2

7

5

P3

8

2

Оставшегося одного устройства недостаточно для завершения ни одного из процессов. Система оказалась в тупике.

Alg_banker

30

Соседние файлы в папке OC - Лекция 5