PUERTA | GATE-CS-2016 (Conjunto 1) | Pregunta 60

Considere la siguiente solución propuesta para el problema de la sección crítica. Hay n procesos: P0 …Pn−1. En el código, la función pmax devuelve un número entero no menor que cualquiera de sus argumentos. Para todo i, t[i] se inicializa a cero.
deadlock

¿Cuál de las siguientes es VERDADERA acerca de la solución anterior?
(A) Como máximo un proceso puede estar en la sección crítica en cualquier momento
(B) Se cumple la condición de espera limitada
(C) Se cumple la condición de progreso
(D) No puede causar un punto muerto

Respuesta: (A)
Explicación:

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 progress is also not possible 
(i.e. Progress == no deadlock) as no one process is able to make progress  
by stopping 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.

Esta explicación ha sido aportada por Dheerendra Singh.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *