Develop a software that will serve as an interactive demonstration (e - learning) of the process synchronization problem using semaphores, busy waiting, spinlocks, monitors, critical section,etc