How progress is satisfied here?
X = 0;
Structure of Each process is as below
//some initialization code
//critical region code..
//Remainder Section(Some cleanup tasks performed by process say)
Suppose, there are n processes.P1 was successful in executing enter_CS(X) completely and P1 is inside CS.
Since some process is there in CS-->Progress is satisfied.
Now, all other n-1 processes will loop in the while loop of enter_CS(X) method.
Now, P1 leaves and sets X=0.
Now no process is inside CS.
All n-1 processes are executing the entry_section code.Here also, we are guaranteed that in a finite amount of time, atleast one process will find X=0, and it will enter CS and remaining n-2 processes will again keep looping in the entry code.So, finite amount of time will be taken in deciding who will enter CS next.->Progress satisfied.!
More Good Read: https://stackoverflow.com/questions/33143779/what-is-progress-and-bounded-waiting-in-critical-section