Рубрики

ВОРОТА | GATE-CS-2016 (набор 1) | Вопрос 60

Рассмотрим следующее предлагаемое решение для проблемы критического сечения. Есть n процессов: P0… Pn − 1. В коде функция pmax возвращает целое число, не меньшее, чем любой из ее аргументов. Для всех i t [i] инициализируется нулем.

Какое из следующих утверждений является ИСТИННЫМ в отношении вышеуказанного решения?
(A) Не более одного процесса может быть в критической секции в любое время
(B) Условие ограниченного ожидания выполнено
(C) Условие прогресса выполнено
(D) Это не может вызвать тупик

Ответ: (А)
Объяснение:

Mutual exclusion  is satisfied:
All other processes j started before i must have value (i.e. t[j]) 
less than the value of process i (i.e. t[i])  as function pMax() 
return a integer not smaller  than any of its arguments. So if anyone 
out of the processes j have positive value will be executing in its 
critical section as long as the condition t[j] > 0 && t[j] <= t[i] within 
while will persist. And when  this j process comes out of its critical 
section, it sets t[j] = 0;  and next process will be selected in for loop.
So when i process reaches to its critical section none of the  processes j 
which started earlier before process i  is in its critical section. This 
ensure that only one process is executing its critical section at a time. 
Deadlock and progress are  not satisfied:  
while (t[j] != 0 && t[j] <=t[i]); because of this condition deadlock is 
possible when value of j process becomes equals to the value of process i 
(i.e t[j] == t[i]).  because of the deadlock progess is also not possible 
(i.e. Progess == no deadlock) as no one process is able to make progress  
by stoping other process. 
Bounded waiting is also not satisfied: 
In this case both deadlock and bounded waiting to be arising from the same 
reason as if t[j] == t[i] is possible then starvation is possible means 
infinite waiting.

Это объяснение было внесено Dheerendra Singh.
Тест на этот вопрос

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

ВОРОТА | GATE-CS-2016 (набор 1) | Вопрос 60

0.00 (0%) 0 votes