Рубрики

ВОРОТА | GATE-CS-2014- (Set-1) | Вопрос 65

Операционная система использует алгоритм Банкира для предотвращения тупиков при управлении распределением трех типов ресурсов X, Y и Z для трех процессов P0, P1 и P2. В приведенной ниже таблице представлено текущее состояние системы. Здесь матрица распределения показывает текущее количество ресурсов каждого типа, выделенных каждому процессу, а матрица Max показывает максимальное количество ресурсов каждого типа, требуемых каждым процессом во время его выполнения.

Есть 3 единицы типа X, 2 единицы типа Y и 2 единицы типа Z по-прежнему доступны. Система
В настоящее время в безопасном состоянии. Рассмотрим следующие независимые запросы на дополнительные ресурсы в
Текущее состояние:

REQ1: P0 requests 0 units of X,  
      0 units of Y and 2 units of Z
REQ2: P1 requests 2 units of X, 
      0 units of Y and 0 units of Z

Что из следующего является ИСТИННЫМ?
(A) Только REQ1 может быть разрешено.
(B) Только REQ2 может быть разрешено.
(C) И REQ1, и REQ2 могут быть разрешены.
(D) Ни REQ1, ни REQ2 не могут быть разрешены

Ответ: (Б)
Пояснение: Это текущее безопасное состояние.

AVAILABLEX=3, Y=2, Z=2
MAXALLOCATION
X Y ZX Y Z
P08 4 30 0 1
P16 2 03 2 0
P23 3 32 1 1

Теперь, если запрос REQ1 разрешен, состояние станет:

AVAILABLEX=3, Y=2, Z=0
MAXALLOCATIONNEED
X Y ZX Y ZX Y Z
P08 4 30 0 38 4 0
P16 2 03 2 03 0 0
P23 3 32 1 11 2 2

Теперь, с текущей доступностью, мы можем обслуживать потребности P1. Государство станет:

AVAILABLEX=6, Y=4, Z=0
MAXALLOCATIONNEED
X Y ZX Y ZX Y Z
P08 4 30 0 38 4 0
P16 2 03 2 00 0 0
P23 3 32 1 11 2 2

Благодаря полученной доступности невозможно будет обслуживать потребность в P0 или P2 из-за отсутствия ресурса Z.

Поэтому система оказалась бы в тупике.

⇒ Мы не можем разрешить REQ1.

Теперь в данном безопасном состоянии, если мы примем REQ2:

AVAILABLEX=1, Y=2, Z=2
MAXALLOCATIONNEED
X Y ZX Y ZX Y Z
P08 4 30 0 18 4 2
P16 2 05 2 01 0 0
P23 3 32 1 11 2 2

Благодаря этой доступности мы обслуживаем P1 (P2 также может обслуживаться). Итак, состояние:

AVAILABLEX=6, Y=4, Z=2
MAXALLOCATIONNEED
X Y ZX Y ZX Y Z
P08 4 30 0 18 4 2
P16 2 05 2 00 0 0
P23 3 32 1 11 2 2

С текущей доступностью мы обслуживаем P2. Государство становится:

AVAILABLEX=8, Y=5, Z=3
MAXALLOCATIONNEED
X Y ZX Y ZX Y Z
P08 4 30 0 18 4 2
P16 2 05 2 00 0 0
P23 3 32 1 10 0 0

Наконец, мы обслуживаем P0. Государство теперь становится:

AVAILABLEX=8, Y=5, Z=4
MAXALLOCATIONNEED
X Y ZX Y ZX Y Z
P08 4 30 0 10 0 0
P16 2 05 2 00 0 0
P23 3 32 1 10 0 0

Полученное таким образом государство является безопасным состоянием. ⇒ REQ2 может быть разрешено.

Таким образом, только REQ2 может быть разрешено.

Следовательно, B — правильный выбор.

Пожалуйста, прокомментируйте ниже, если вы найдете что-то не так в вышеуказанном посте.
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2014- (Set-1) | Вопрос 65

0.00 (0%) 0 votes