Consider the following solution for critical section problem with 'n' processes P0,P1,P2,......P(n-1).For all i,number[i] is an integer array initialized to zero, and for all j,choosing[j] is a binary array initialized to false.
CODE FOR Pi :
Repeat {
choose[i]=true;
number[j]= max(number[0],number[1],.......................number[n-1])+1;
choosing[i]=false;
for j=0 to n-1
do begin
while(choosing[j]) do nothing;
while(number[j]!=0 and (number[j],i) < (number[i], i))
do nothing;
end;
critical section;
number[i]=0;
remainder section;
}until false;
consider the following statements about above solution:
S1:solution preserve first come first serve property.
S2:solution follows mutual exclusion condition.
S3:solution leads to starvation.
Which of the following is correct.
a)S1 only.
b)S1 and S2 only.
c)S2 and S3 only.
d)S1 , S2 and S3
(please anyone elaborate this solution.thanks in advance)