All the n-processes share the following variables:
The variable turn is set arbitrarily to a number between 0 and n−1 at the start of the algorithm.
The flags variable for each process is set to WAITING whenever it intends to enter the critical section. flags takes either IDLE or WAITING or ACTIVE.
Initially the flags variable for each process is initialized to IDLE.