* There is a system of n processes {P0, P1, ..., Pnā1}.
* Each process has a critical section segment of code.
* In the critical segment the process may be changing common variables, updating tables, writing files, etc.
* When one process is executing in its critical section, no other process is allowed to execute in its critical section as this could conflict